目录
1、下载 cmake
下载cmake,下载地址:Releases · Kitware/CMake · GitHub,下载:cmake-3.22.5-windows-x86_64.zip。解压后/bin/cmake-gui.exe即为可执行程序。
2、下载 Eigen 源码
Eigen的官网地址:Releases · libeigen / eigen · GitLab,下载 .zip 的压缩包即可。
下载完后,解压至:D:\env\source目录,存放在D:\env\source\eigen-3.4.0。
3、cmake 编译
使用:D:/env/source/eigen-3.4.0-build目录作为工程编译目录。
点击“Configure”,设置环境。我使用的是vs2017,平台选x64。
没有问题的话,就会出现输出框中的“Configuring done”了(红色的警告不用管)!
把CMAKE_INSTALL_PREFIX变量的值设置为Eigen的安装目录(我这里是D:/env/Eigen3.4)
再次点击“Configure”!再次显示“Configuring done”!
点击“Geenerate”生成VS工程,输出“Generating done”!
再点击“Open Project”,会自动地以管理员方式打开Visual Studio 2017。
4、vs2017 编译
等待VS分析工程和文件完毕后,确保VS当前是“Release”和“×64”模式,在“解决方案资源管理器”中,右键“ALL_BUILD”,点击“生成”。
可以看到全部输出成功,再右键“INSTALL”,点击“生成”。这时VS会把Eigen安装到之前设置的CMAKE_INSTALL_PREFIX变量的值的位置处(D:\env\Eigen3.4)。
最后,把“D:\env\Eigen3.4\share\eigen3\cmake”中的四个.cmake文件复制到“D:\env\Eigen3.4\include\eigen3”目录下。
至此,Eigen安装完成!
5、测试 Eigen
在任意位置新创建一个VS空项目,命名为TestEigen,再添加源文件,命名为main.cpp。
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main()
{
Matrix2d a;
a << 1, 2, 3, 4;
MatrixXd b(2, 2);
b << 2, 3, 1, 4;
std::cout << "a + b =\n" << a + b << std::endl;
std::cout << "a - b =\n" << a - b << std::endl;
std::cout << "Doing a += b;" << std::endl;
a += b;
std::cout << "Now a =\n" << a << std::endl;
Vector3d v(1, 2, 3);
Vector3d w(1, 0, 0);
std::cout << "-v + w - v =\n" << -v + w - v << std::endl;
return 0;
}
将环境设置为“Debug”和“×64”,然后在VS中打开属性管理器界面,右键“Debug|×64”,选择“添加新项目属性表”。这是为了避免之后每次使用到Eigen都要重新设置目录,因此直接把Eigen的目录存放在属性表中,需要用的时候直接调用就可。
属性表的名称就设置为“Eigen64.props”,点击添加。然后双击刚新建的属性表,将“VC++目录”中的“包含目录”添加一项:D:\env\Eigen3.4\include\eigen3。
按快捷键Ctrl + F5运行,若出现如下图的结果,则表示Eigen编译并安装成功!
【注意】将测试Eigen创建的“Eigen64.props”属性表(可以在工程文件夹中找到)放到一个合适的位置保留,方便以后调用!