首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在eigen3上启用pkg-config支持?

如何在eigen3上启用pkg-config支持?
EN

Stack Overflow用户
提问于 2018-12-02 10:34:42
回答 1查看 962关注 0票数 1

我正在编译一个第三方库,它使用以下命令查找Eigen3:

代码语言:javascript
复制
find_package( PkgConfig )
pkg_check_modules( EIGEN3 REQUIRED eigen3 )
include_directories(${EIGEN3_INCLUDE_DIRS})

find_package( PkgConfig )命令正确运行,因为我指定了PKG_CONFIG_EXECUTABLE变量。但是pkg_check_modules( EIGEN3 REQUIRED eigen3 )返回一个错误:

-检查模块“eigen3” -没有找到“eigen3”包裹

特征3的官方网页说:“没有必要使用CMake或安装任何东西。”我花了好长时间才意识到这个说法是错误的。因此,我运行了以下代码来编译和安装Eigen3 (3.3.5版本):

代码语言:javascript
复制
cmake -DCMAKE_CONFIGURATION_TYPES=Release -DCMAKE_INSTALL_PREFIX=E:\3rd-parties\eigen-3.3.5\install_ -G"Visual Studio 14 2015 Win64" ..

编译和安装过程都是成功的,因为我在VS2015中没有看到任何失败。但是,当我返回到第三方库的build文件夹并再次运行cmake时,我得到了完全相同的错误。Eigen3 官方网站只提供使用find_package的指令,而不是pkg-config.exe,所以接下来我搜索了find_package并找到了这个线程。答案是,我们需要“在eigen3 cmake中启用pkg-config支持”。我不知道怎么启用它。是否有特定的CMake变量用于此目的?因为这是一个新的问题,艾根主页说:“为了获得帮助,堆栈溢出是您最好的资源。”所以我来这里寻求帮助。我的问题是:如何在eigen3中启用pkg支持?或者换个说法:如何传递pkg_check_modules( EIGEN3 REQUIRED eigen3 ) cmake命令?非常感谢。

PS:我正在Windows 10上工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-02 14:42:41

根据Eigen3 资料来源,一个选项EIGEN_BUILD_PKGCONFIG负责pkg-config支持。

在Windows上,整个选项是禁用的,但是您可以尝试设置它:

代码语言:javascript
复制
cmake -DEIGEN_BUILD_PKGCONFIG=ON <... other arguments>

使用pkg-config在CMake脚本中查找Eigen3时,请确保在CMAKE_PREFIX_PATH变量中列出了Eigen3的安装目录。(如果项目使用的CMake版本小于3.1,则需要另外将PKG_CONFIG_USE_CMAKE_PREFIX_PATH设置为ON,以便告诉pkgconfig模块使用变量CMAKE_PREFIX_PATH。请参阅文档 for pkgconfig模块中的更多内容。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53579402

复制
相关文章

相似问题

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