Win10系统VS2019+Cmake+Eigen3.3.8环境配置

1. Eigen

1.1 简要介绍

Eigen是可以用来进行线性代数、矩阵、向量操作等运算的C++库,包含了绝大部分矩阵算法;
Eigen一个重要特点是采用源码的方式提供给用户使用,在使用时只需要包含Eigen的头文件即可进行使用。之所以采用这种方式,是因为Eigen采用模板方式实现,由于模板函数不支持分离编译,所以只能提供源码而不是动态库的方式供用户使用,因此非常轻量而易于跨平台。

1.2 依赖库

Eigen不需要再配置其他库。

1.3 源码包下载

Eigen源码地址:
githubhttps://gitlab.com/libeigen/eigen.git

2. Cmake构建项目

2.1 路径

源代码路径:D:/ThirdParty/eigen/eigen_3.3.8
构建项目路径:D:/ThirdParty/eigen/eigen_3.3.8_build

2.2 构建选项

名称备注
BUILD_TESTINGfalse减少编译时间
CMAKE_INSTALL_PREFIXpath编译时生成的安装文件路径

2.3 构建项目

image.png
步骤如下:

  1. 指定源码路径;
  2. 指定构建项目路径;
  3. 点击Configure
  4. 按照2.2节表中的值进行设置;
  5. 再次点击Configure
  6. 点击Generate,构建项目路径中将生成解决方案文件Eigen3.sln

点击ConfigureGenerate后,如果顺利,会出现Configuring doneGenerating done

3. 打开解决方案并编译

3.1 编译解决方案

点击Open Project(或者在2.3节步骤2中指定的构建项目路径中,找到生成的解决方案文件Eigen3.sln,通过Visual Studio打开),打开通过Cmake构建的项目;
选中ALL_BUILD项目,分别在DebugRelease模式下,重新生成解决方案。
image.png
如果将BUILD_TESTING选项置为false,该过程将很快,因为没有构建任何测试项目。

3.2 安装Eigen

image.png
选中INSTALL项目,右击,重新生成,此时,将会在指定路径下(2.2节表中CMAKE_INSTALL_PREFIX选项的值)生成两个文件夹includeshare

4. 实际项目环境配置

注:以下通过属性表的方式进行环境配置。

4.1 附加包含目录

image.png

  1. $(eigen)\include\eigen3

$(eigen)(在系统环境变量中添加并设置)就是2.2节表中CMAKE_INSTALL_PREFIX选项的值。

4.2 测试代码

#include <iostream>
#include <Eigen/Dense>

int main()
{
	Eigen::Matrix2d a;
	a << 1, 2,
		3, 4;
	Eigen::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;
	std::cout << "a^T=  " << a.transpose() << std::endl;
	std::cout << "a*b= " << a * b << std::endl;
	Eigen::Vector3d v(1, 2, 3);
	Eigen::Vector3d w(1, 0, 0);
	std::cout << "-v + w - v =\n" << -v + w - v << std::endl;
	std::cout << v << std::endl;
	std::cout << v.transpose() << std::endl;
	system("pause");
	return 0;
}
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值