首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake找不到Eigen3

CMake找不到Eigen3
EN

Stack Overflow用户
提问于 2011-05-07 23:28:08
回答 1查看 26K关注 0票数 21

我已经将FindEign3.cmake复制到我的源目录中。

然后我补充道:

代码语言:javascript
复制
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR})

发送到我的CMakeLists.txt,告诉CMake使用这个.cmake文件。

然后在我的CMakeLists.txt中我这样做:

代码语言:javascript
复制
FIND_PACKAGE(Eigen3)

我将环境变量EIGEN3_INCLUDE_DIR设置为/home/doriad/src/eigen

当我运行CMake时,我得到:

代码语言:javascript
复制
-- Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) (Required is at least version "2.91.0")

这是Mercurial的一个新克隆,所以版本至少应该是3。

有什么建议吗?

如果我错误地设置了模块路径,我会得到一些线索:

代码语言:javascript
复制
Adjust CMAKE_MODULE_PATH to find FindEigen3.cmake or set Eigen3_DIR to the
directory containing a CMake configuration file for Eigen3. The file will
have one of the following names:

Eigen3Config.cmake
eigen3-config.cmake

但是,我在Eigen3的源目录或构建目录中都没有找到这两个文件。我尝试设置Eign3_DIR=/home/doriad/src/eigen,但也不起作用。

有什么想法?

谢谢,

大卫

EN

回答 1

Stack Overflow用户

发布于 2011-06-13 02:25:16

当我安装eigen3包(例如,使用-DCMAKE_INSTALL_PREFIX=/home/doriad/install),并将使用eigen3的cmake包的CMAKE_INSTALL_PREFIX变量设置到相同的目录时,它对我有效。

由于findscripts的问题,我实际上已经开始使用pkg-config。为此,您需要在eigen3 cmake中启用pkg-config支持,并在您自己的cmake脚本中使用pkg-config宏。优点是您不再需要设置任何环境变量。

代码语言:javascript
复制
find_package( PkgConfig )
pkg_check_modules( EIGEN3 REQUIRED eigen3 )
include_directories( ${EIGEN3_INCLUDE_DIRS} )
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5922016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档