【发布时间】: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