我正在尝试在项目中使用fltk库,但遇到了一些麻烦。 这是我的CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.12)
project(pp)
set(CMAKE_CXX_STANDARD 14)
add_executable(pp main.cpp)
FIND_PACKAGE(FLTK REQUIRED)
FIND_PACKAGE(GTK REQUIRED)
TARGET_LINK_LIBRARIES(pp ${FLTK_LIBRARIES})
TARGET_LINK_LIBRARIES(pp ${GTK_LIBRARIES})
FLTK版本: 1.3.4
Cmake版本: 3.7.2
我已经在/ usr / local dirs中安装了fltk库
包含文件位于/ usr / local / include / FL
我看到FindFLTK.cmake查找以下文件: FL / Fl.h或FL / Fl.h位于/ usr / local / include / FL中,因此可以找到它。
这是错误消息:
找不到FLTK(丢失:FLTK_INCLUDE_DIR)
您有解决此问题的想法吗?
更新
CMakeLists.txt的当前版本
cmake_minimum_required(VERSION 3.7.2)
project(pp)
set(CMAKE_CXX_STANDARD 14)
add_executable(pp main.cpp)
target_include_directories(pp PRIVATE /usr/local/include/FL)
set (LIBRARIES fltk Xrender Xcursor Xfixes Xext Xft fontconfig Xinerama pthread dl m X11)
message(STATUS mess: ${CMAKE_MODULE_PATH})
target_link_libraries(pp ${LIBRARIES})'
在此配置中,我可以编译并链接可执行文件,但是为什么用FIND_PACKAGE进行的配置不起作用?我应该在哪里寻找错误?
答案 0 :(得分:0)
可能是库安装错误。我刚刚从 GitHub 源安装了一个新的,通过 cmake -G "MinGW Makefiles" .
配置 CMake,然后 make
和 make install
将它安装在我想的编译器库中。
此后,包含 Could NOT find FLTK (missing: FLTK_INCLUDE_DIR)
的错误在另一个项目的编译中消失了。我想,cmake 错误报告不是那么严格和澄清,即这个错误意味着 FindFLTK.cmake
中的一些异常,而不是完全丢失 FLTK_INCLUDE_DIR
。