找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
Posted
技术标签:
【中文标题】找不到 FLTK(缺少:FLTK_INCLUDE_DIR)【英文标题】:Could NOT find FLTK (missing: FLTK_INCLUDE_DIR) 【发布时间】:2018-10-26 05:27:09 【问题描述】:我正在尝试在我的项目中使用 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 目录中安装了 fltk 库
包含文件位于 /usr/local/include/FL
我看到 FindFLTK.cmake 查找以下文件: FL/Fl.h 或 FL/Fl.H,其中 FL/Fl.h 位于 /usr/local/include/FL 所以可以找到。
这里是错误信息:
你有解决这个问题的想法吗?
更新
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 的配置不起作用?我应该在哪里寻找错误?
【问题讨论】:
请同时显示有关查找 FLTK 的确切错误消息。 问题已更新。 不言而喻,但您是否尝试过设置 FLTK_INCLUDE_DIR ? @PeterT:变量FLTK_INCLUDE_DIR
在模块FindFLTK.cmake 中被描述为一个result 变量,但不是一个可以由用户分配的变量。所以不应该明确设置FLTK_INCLUDE_DIR
。 (这样的设置可能会被忽略,可能会破坏脚本,可能会起作用,但仅适用于特定版本,... - 换句话说,设置变量会导致未定义的行为)。
问题已更新。
【参考方案1】:
可能是库安装错误。我刚刚从 GitHub 源代码中安装了一个新的,使用 cmake -G "MinGW Makefiles" .
配置的 CMake,然后是 make
和 make install
,我想将它安装在编译器库中。
之后,包含Could NOT find FLTK (missing: FLTK_INCLUDE_DIR)
的错误在另一个项目的编译中消失了。我想,cmake 错误报告并没有那么严格和澄清,即这个错误意味着FindFLTK.cmake
中的一些异常,而不是缺少FLTK_INCLUDE_DIR
。
【讨论】:
以上是关于找不到 FLTK(缺少:FLTK_INCLUDE_DIR)的主要内容,如果未能解决你的问题,请参考以下文章
定义,并且找不到可接受类型为“ASP._aspx”的第一个参数的扩展方法“”(是否缺少 using 指令或程序集引用?)