【问题标题】:Could NOT find FLTK (missing: FLTK_INCLUDE_DIR)找不到 FLTK(缺少: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 所以可以找到。

这里是错误信息:

找不到 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 的配置不起作用?我应该在哪里寻找错误?

【问题讨论】:

  • 请同时显示有关查找 FLTK 的确切错误消息。
  • 问题已更新。
  • 不言而喻,但您是否尝试过设置 FLTK_INCLUDE_DIR ?
  • @PeterT:变量FLTK_INCLUDE_DIR 在模块FindFLTK.cmake 中被描述为一个result 变量,但不是一个可以由用户分配的变量。所以不应该明确设置FLTK_INCLUDE_DIR。 (这样的设置可能会被忽略,可能会破坏脚本,可能会起作用,但仅适用于特定版本,... - 换句话说,设置变量会导致未定义的行为)。
  • 问题已更新。

标签: c++ cmake fltk


【解决方案1】:

可能是库安装错误。我刚刚从 GitHub 源代码中安装了一个新的,使用 cmake -G "MinGW Makefiles" . 配置的 CMake,然后是 makemake install,我想将它安装在编译器库中。

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

【讨论】:

    猜你喜欢
    • 2021-06-25
    • 2021-02-05
    • 2020-03-24
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 2016-01-27
    相关资源
    最近更新 更多