gpt4 book ai didi

cmake - 为 CMake 查找包 Eigen3

转载 作者:行者123 更新时间:2023-12-03 08:41:13 31 4
gpt4 key购买 nike

CMake 找不到我的 特征3 包裹。我设置了一个名为

EIGEN3_INCLUDE_DIR

指向 FindEigen3.cmake的路径是。

然后在 CMakelists.txt 我写道:
find_package( Eigen3 REQUIRED )
include_directories( EIGEN3_INCLUDE_DIR )

我收到下一条错误消息:
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
(Required is at least version "2.91.0")
Call Stack (most recent call first):
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindEigen3.cmake:76 (find_package_handle_standard_args)
test/test_quaternion/CMakeLists.txt:25 (find_package)

知道我错过了什么或做错了什么吗?

最佳答案

Eigen >= 3.3 具有直接的 CMake 集成,因此您的设置似乎不正确。

假设 Eigen 已安装到 /opt/eigen/3.3使用默认设置。附加或前置位置 /opt/eigen/3.3到环境变量CMAKE_PREFIX_PATH例如在 bash 中:

export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:/opt/eigen/3.3"

然后 CMake 应该把它捡起来。

如果您正在编写自己的使用 Eigen 的 CMakeLists.txt,我建议使用如下代码:
find_package (Eigen3 3.3 REQUIRED)
add_executable (example example.cpp)
target_link_libraries (example Eigen3::Eigen)

你不应该使用 include_directories自 CMake 3 发布以来——只要可用,就应该首选目标方法。

关于cmake - 为 CMake 查找包 Eigen3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12249140/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com