【问题标题】:i get this error fatal error: Scintilla.h: No such file or directory when loading scintilla library我收到此错误致命错误: Scintilla.h: No such file or directory when loading scintilla library
【发布时间】:2020-10-13 20:23:35
【问题描述】:

我从这里克隆了闪烁 https://github.com/mirror/scintilla 我已经构建了 scintilla GTK+/Linux 版本,现在在 bin 文件夹中生成了 scintilla.a。我在我的 CMAkeList.txt 文件中处理了这个库,但是当我构建我的应用程序时,我收到这个错误“致命错误:Scintilla.h:否这样的文件或目录” [构建] 4 | #include

所以我不知道为什么它找不到 scintilla.h...我应该在我的 cmakelists.txt 文件中添加更多内容吗?...当我包含这一行时 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/scintilla/include) ,我收到一堆新错误,例如:

/home/sob/.landscape/ScintillaExample/main.cpp:17:5: error: ‘ScintillaObject’ was not declared in this scope
[build]    17 |     ScintillaObject* sci;
[build]       |     ^~~~~~~~~~~~~~~
[build] /home/sob/.landscape/ScintillaExample/main.cpp:17:22: error: ‘sci’ was not declared in this scope
[build]    17 |     ScintillaObject* sci;

这就是我的 cmakelists.txt 文件的样子:

cmake_minimum_required(VERSION 3.1)
project(ScintillaExample) 
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
SET(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)  
SET(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)  
FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(GTK3 REQUIRED gtk+-3.0)
INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin)
#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/scintilla/include)
add_library(scintilla.a STATIC IMPORTED)
set_property(TARGET scintilla.a PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin/scintilla.a)
LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
#set(SCINTILLA_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin/scintilla.a)
ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})
ADD_EXECUTABLE(app main.cpp)
TARGET_LINK_LIBRARIES(app ${GTK3_LIBRARIES})

如果你能告诉我如何解决这个问题,我将不胜感激

【问题讨论】:

    标签: c++ gtk scintilla cmakelists-options


    【解决方案1】:

    我对我的 cmakefilelists.txt 进行了一些更改,现在它正在工作:

    cmake_minimum_required(VERSION 3.1)
    project(ScintillaExample) 
    set_property(GLOBAL PROPERTY USE_FOLDERS ON)
    SET(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)  
    SET(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)  
    FIND_PACKAGE(PkgConfig REQUIRED)
    PKG_CHECK_MODULES(GTK3 REQUIRED gtk+-3.0)
    INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
    include_directories(${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin)
    include_directories(${CMAKE_CURRENT_SOURCE_DIR}/scintilla/include)
    LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
    ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})
    ADD_EXECUTABLE(app main.cpp)
    TARGET_LINK_LIBRARIES(app ${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin/scintilla.a ${GTK3_LIBRARIES} gmodule-2.0)
    ${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin/scintilla.a)
    

    【讨论】:

      猜你喜欢
      • 2018-09-30
      • 2020-01-20
      • 1970-01-01
      • 2013-05-05
      • 2022-01-13
      • 2018-04-24
      • 2023-03-12
      • 1970-01-01
      • 2016-11-01
      相关资源
      最近更新 更多