Visual Studio使用Armadillo线性代数运算库

在Visual Studio中可以添加Armadillo线性代数库,进行一些矩阵运算,本文在Visual Studio 2015中添加Armadillo进行一系列测试,其中有几个调试要点,来自https://www.hsli.top

下载Armadillo

Armadillo官网 下载该库,放在自定义的目录,比如F:\ISE\Machine Learning

下载支持库

这里 下载几个库文件,放在自定义目录比如F:\ISE\Machine Learning\armadillo-7.400.4,如下:

1
2
3
4
5
6
blas.lib
blasd.lib
lapack.lib
lapackd.lib
libf2c.lib
libf2cd.lib

Visual Studio连接

可参考本博客文章Win7+OpenCV 2.4.13+Visual Studio 2015一劳永逸的配置

  1. 在Visual Studio中新建控制台工程,在属性管理器中的Debug|Win32选项下右键添加新的项目属性表,取名Armadillo_Debug
  2. 修改 包含目录,添加Armadillo的include目录所在路径,比如F:\ISE\Machine Learning\armadillo-7.400.4\include
  3. 修改库目录,添加下载的支持库所在的目录,比如F:\ISE\Machine Learning\armadillo-7.400.4
  4. 修改连接器->输入->附加依赖项,添加

    1
    2
    3
    blasd.lib
    lapackd.lib
    libf2cd.lib
  5. 同理,在Release|Win32选项下右键添加新的项目属性表,取名Armadillo_Release,同上添加包含目录库目录,在附加依赖项中添加如下:

    1
    2
    3
    blas.lib
    lapack.lib
    libf2c.lib

打开Armadillo的C++11支持

该设置由本人摸索出来,用于解决Armadillo对矩阵直接赋值初始化报错的问题

打开\include\armadillo_bits目录中的config.hpp

找到#define ARMA_USE_CXX11取消注释即可

测试

在源文件中输入以下代码测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// HousePrizeModel.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <armadillo>

using namespace arma;

const mat b1 = { {1, 3, 5},
{2, 4, 6} };

const mat b2 = { {3,4,5},
{4,5,6} };

int main()
{

b1.print("b1:");
b2.print("b2:");

mat c = b1%b2;
c.print("b1 .* b2 = ");

system("pause");

return 0;
}

这里写图片描述

如果文章有用,请随意打赏