[Eigen中文文档] 在 CMake 项目中使用 Eigen

文档总目录

英文原文(Using Eigen in CMake Projects)

Eigen提供了CMake支持,使得该库可以轻松地在CMake项目中使用。

注意:启用这个功能需要CMake 3.0(或更高版本)。

Eigen提供了一个CMake示例,名为Eigen3::Eigen,可以使用find_package CMake命令导入,并通过调用target_link_libraries来使用,如下示例:

cmake_minimum_required (VERSION 3.0)
project (myproject)
 
find_package (Eigen3 3.3 REQUIRED NO_MODULE)
 
add_executable (example example.cpp)
target_link_libraries (example Eigen3::Eigen)

上述代码片段必须放置在名为CMakeLists.txt的文件中,与example.cpp放在一起。运行如下命令:

$ cmake path-to-example-directory

CMake将生成项目文件,生成一个名为example的可执行文件,它需要至少版本3.3的Eigen。在此处,path-to-example-directory是包含CMakeLists.txtexample.cpp的目录的路径。

如果Eigen未安装在默认位置,或者你想选择特定版本,请不要忘记设置CMAKE_PREFIX_PATH变量。例如:

$ cmake path-to-example-directory -DCMAKE_PREFIX_PATH=$HOME/mypackages

另一种方法是将Eigen3_DIR cmake的变量设置为包含Eigen3*.cmake文件的相应路径。例如:

$ cmake path-to-example-directory -DEigen3_DIR=$HOME/mypackages/share/eigen3/cmake/

如果在使用find_package查找Eigen时省略了REQUIRED选项,则可以按以下方式检查是否找到了该软件包:

find_package (Eigen3 3.3 NO_MODULE)
 
if (TARGET Eigen3::Eigen)
  # Use the imported target
endif (TARGET Eigen3::Eigen)

你可能感兴趣的:(Eigen,Eigen,C++,CMake)