Cpp的矩阵库armadillo在vs中的配置使用

官方网址
Armadillo是C++中用于矩阵运算的一个第三方库,矩阵基本运算,卷积等等。。可以摆脱matlab了,当然python 用起来或许会更方便。就当作学习下Vs如何导入第三方库吧。(突然间有点喜欢pip install 操作)
下载解压,不用多说了

配置

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
在visual studio 的资源管理器中找到项目,选择属性。

我们要配置的地方有三个:

1)VC++目录

这里主要是给IDE用的,使得IDE能够找到头文件。主要配置可执行文件目录和库目录
配置如下:在这里插入图片描述

2)C/C++ -> 常规

C/C++中的设置呢,它不是设置环境变量,它是设置命令行参数的
这里只需要把include目录加进来就可以了在这里插入图片描述

在 Visual Studio 中配置使用 Armadillo C++ 库需要完成几个关键步骤,包括下载 Armadillo 源代码、配置项目属性以及设置依赖项和运行时环境。 ### 配置 Armadillo 库 1. **下载 Armadillo 源代码** 从 Armadillo 官方网站下载最新版本的源代码包。解压后会得到一个包含头文件和示例的文件夹,例如 `armadillo-11.4.0`。将该文件夹放置在项目根目录下以便管理,例如 `D:\TestArmadillo\armadillo` [^1]。 2. **创建 Visual Studio 项目** 打开 Visual Studio,创建一个新的 C++ 控制台应用程序项目。确保项目路径与 Armadillo 源代码路径一致,例如 `D:\TestArmadillo`。 3. **配置 VC++ 目录** 在 Visual Studio 中打开项目属性页(右键项目 -> 属性),进入 `VC++ 目录` 部分: - **包含目录**:添加 Armadillo 的 `include` 文件夹路径,例如 `D:\TestArmadillo\armadillo\include` [^2]。 - **库目录**:添加 Armadillo 的 `lib_win64` 文件夹路径,例如 `D:\TestArmadillo\armadillo\examples\lib_win64` [^2]。 4. **配置 C/C++ 附加包含目录** 在属性页中进入 `C/C++ -> 常规` 部分: - **附加包含目录**:添加 Armadillo 的 `include` 文件夹路径,例如 `D:\TestArmadillo\armadillo\include` [^2]。 5. **配置链接器目录和依赖项** 在属性页中进入 `链接器 -> 常规` 部分: - **附加库目录**:添加 Armadillo 的 `lib_win64` 文件夹路径,例如 `D:\TestArmadillo\armadillo\examples\lib_win64` [^2]。 接着,在 `链接器 -> 输入` 部分: - **附加依赖项**:添加 `blas_win64_MT.lib` 和 `lapack_win64_MT.lib` 文件路径,例如 `D:\TestArmadillo\armadillo\examples\lib_win64\blas_win64_MT.lib` 和 `D:\TestArmadillo\armadillo\examples\lib_win64\lapack_win64_MT.lib` [^2]。 6. **生成解决方案** 点击 `生成 -> 生成解决方案` 以编译项目。如果配置正确,项目应成功构建。 7. **复制运行时库文件** 将 `lib_win64` 文件夹中的 `blas_win64_MT.dll` 和 `lapack_win64_MT.dll` 复制到生成的 `Debug` 或 `Release` 文件夹中,以确保程序在运行时可以找到这些库文件 。 ### 使用 Armadillo 库 在 C++ 代码中,可以通过包含 Armadillo 头文件来使用其功能: ```cpp #include <iostream> #include <armadillo> int main() { // 创建一个 3x3 的随机矩阵 arma::mat A = arma::randu<arma::mat>(3, 3); // 输出矩阵 A std::cout << "Matrix A:\n" << A << std::endl; // 计算矩阵的行列式 double detA = arma::det(A); std::cout << "Determinant of A: " << detA << std::endl; return 0; } ``` ### 代码解释 - `arma::mat` 表示一个双精度浮点数矩阵。 - `arma::randu<arma::mat>(3, 3)` 生成一个 3x3 的随机矩阵,元素值在 [0, 1] 范围内。 - `arma::det()` 计算矩阵的行列式。 ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值