找不到 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,然后是 makemake install,我想将它安装在编译器库中。

之后,包含Could NOT find FLTK (missing: FLTK_INCLUDE_DIR) 的错误在另一个项目的编译中消失了。我想,cmake 错误报告并没有那么严格和澄清,即这个错误意味着FindFLTK.cmake 中的一些异常,而不是缺少FLTK_INCLUDE_DIR

【讨论】:

以上是关于找不到 FLTK(缺少:FLTK_INCLUDE_DIR)的主要内容,如果未能解决你的问题,请参考以下文章

FLTK - 即使我包含正确的目录也找不到标题[重复]

fltk 设置按钮的活动标签颜色

错误“找不到 Boost”(缺少:上下文标头)

如何在 Windows 上安装 FLTK?

定义,并且找不到可接受类型为“ASP._aspx”的第一个参数的扩展方法“”(是否缺少 using 指令或程序集引用?)

插入couchdb数据库后找不到/缺少文档