安装和使用C++线性代数库eigen(Windows下minGW+VS code, VS2019配置方式)

eigen是一个线性代数的第三方库
安装之后,只要include相应头文件,就可以方便地使用C++进行矩阵乘法,矩阵求逆等操作,像MATLAB一样(语法方面略微有区别,另一个同类的库armadillo的语法更像MATLAB,但是安装和配置没有eigen方便)。

安装eigen

eigen无需安装,直接下载源代码解压包解压即可。

下载地址(3.3.8版本):
https://gitlab.com/libeigen/eigen/-/archive/3.3.8/eigen-3.3.8.zip

官网:
http://eigen.tuxfamily.org/index.php?title=Main_Page

VS2019配置方式

随便打开一个空项目
在这里插入图片描述

在右侧解决方案资源管理器上,对项目名点击右键,属性
在这里插入图片描述

在这里插入图片描述

配置和平台选择 所有配置,所有平台
在这里插入图片描述
左侧点VC++目录,然后右侧选包含目录,编辑
在这里插入图片描述
把你解压的文件夹目录写入
在这里插入图片描述

完成

测试一下

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

using namespace Eigen;
using namespace std;
int main()
{
  Vector3d v(1,2,3);
  Vector3d w(0,1,2);

  cout << "Dot product: " << v.dot(w) << endl;
  double dp = v.adjoint()*w; // automatic conversion of the inner product to a scalar
  cout << "Dot product via a matrix product: " << dp << endl;
  cout << "Cross product:\n" << v.cross(w) << endl;
}

代码来源: 官方example
E:\App\eigen-3.3.8\doc\examples\tut_arithmetic_dot_cross.cpp

结果
在这里插入图片描述

Windows下minGW+VS code配置方式

假设你已经配置好了VS CODE和minGW,可以进行正常的C++代码编译调试。
现在来增加第三方库eigen

ctrl+shift+P打开命令面部。或者左下角齿轮,点击命令面板。
在这里插入图片描述
编辑配置(UI)
这一步其实是配置c_cpp_properties.json这个文件,是配置C/C++这个插件的。

这个插件的目的是高亮、语法检查和代码预览等。也就是用来方便用户查看的,并非是真正的编译器,在此的配置也是为了正确显示高亮和语法检查等。
在这里插入图片描述

会弹出C/C++这个插件的配置,找到包含路径,把目录复制进去。最后以**结束代表搜索其子文件夹。
在这里插入图片描述

然后配置编译器。
编译器用的是minGW,其实就是linux上的gcc移植到windows的版本。

打开命令面部,选择配置默认生成任务
在这里插入图片描述
会自动打开tasks.json
只需要增加一行即可

"-I'E:/App/eigen-3.3.8'"

在这里插入图片描述
完成

运行结果测试
测试代码

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

using namespace Eigen;
using namespace std;

int main()
{
  ArrayXXf  m(2,2);
  
  // assign some values coefficient by coefficient
  m(0,0) = 1.0; m(0,1) = 2.0;
  m(1,0) = 3.0; m(1,1) = m(0,1) + m(1,0);
  
  // print values to standard output
  cout << m << endl << endl;
 
  // using the comma-initializer is also allowed
  m << 1.0,2.0,
       3.0,4.0;
     
  // print values to standard output
  cout << m << endl;


    getchar();
}

结果
在这里插入图片描述

补充: 一劳永逸的方法

放到自己的工程文件目录里即可
或者放到VS的include目录
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include

### 配置VSCode以支持C++项目中使用Eigen 为了使 VSCode 支持 C++ 项目并能够顺利编译运行带有 Eigen 的程序,需按照如下方法设置开发环境。 #### 设置 `tasks.json` 文件 在 `.vscode/tasks.json` 中定义构建任务时应指定 g++ 编译器选项来包含 Eigen 头文件路径: ```json { "version": "2.0.0", "tasks": [ { "label": "build hello world with eigen", "type": "shell", "command": "g++", "args": [ "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "-I", "E:/Code_APPs/MinGW/mingw64/include/eigen3" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Generated task to build a single cpp file using g++. This includes the path for Eigen headers." } ] } ``` 此配置确保了当执行构建命令时会自动加入 `-I E:/Code_APPs/MinGW/mingw64/include/eigen3` 参数以便于找到 Eigen 的头文件位置[^1]。 #### 修改 `c_cpp_properties.json` 为了让 IntelliSense 正确解析代码中的 Eigen 类型声明,在 `.vscode/c_cpp_properties.json` 添加相应的 includePath: ```json { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "E:/Code_APPs/MinGW/mingw64/include/eigen3" ], ... } ], "version": 4 } ``` 这一步骤使得编辑器可以识别来自 Eigen 的数据结构其他符号,从而提供更好的语法高亮支持功能提示服务。 通过上述两步操作之后,就可以正常编写依赖于 Eigen 的应用程序,并利用 VSCode 提供的强大工具链完成日常编码工作了。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值