【问题标题】:Including library with cmake manually手动包含带有 cmake 的库
【发布时间】:2017-03-27 10:38:18
【问题描述】:

在我的 uni 集群中,我没有 sudo 权限,我需要 Eigen3 3.3.3 版本,他们只提供 Eigen 2.8 安装。

现在,我上传了Eigen3 3.3.3 的源文件,并尝试手动将其与cmake 挂钩。

然后我相应地设置环境变量CPLUS_INCLUDE_PATH。在cmake 我将要求设置为:

find_package(Eigen3 3.3.3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})

但我收到此错误消息:

在 CMAKE_MODULE_PATH 中不提供“FindEigen3.cmake” 项目已要求 CMake 查找包配置文件 由“Eigen3”提供,但 CMake 没有找到。

找不到“Eigen3”提供的包配置文件 (请求的版本 3.3.3)具有以下任何名称:


我不明白为什么我必须手动提供FindEigen3.cmake 文件?通常,一个人不必这样做。如何解决这个错误?我不想操纵现有的CMakeList.txt。谢谢。

【问题讨论】:

  • 库自带CMake配置脚本。 CMake 需要提示您的 Eigen3 库在哪里正确配置它(请参阅 cmake/FindEigen3.cmake)。
  • @Florian 我已经看过了。但我无法想象自己用CMAKE_MODULE_PATH 来处理它。特别是,我不想操纵现有的CMakeFiles.txt 以符合 eigen3。
  • cmake -DCMAKE_MODULE_PATH:PATH=/path/to/Eigen3/cmake ..
  • @Florian 好的,非常感谢。

标签: c++ cmake include


【解决方案1】:

把我的 cmets 变成答案

图书馆自带CMake configuration script。 CMake 需要提示您的 Eigen3 库在哪里正确配置它(请参阅cmake/FindEigen3.cmake)。

因此您可以在 命令行调用中定义搜索路径:

cmake -DCMAKE_MODULE_PATH:PATH=/path/to/Eigen3/cmake ..

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-09
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多