您的位置:首页 > 编程语言 > C语言/C++

Armadillo矩阵库的使用(一)之Armadillo的安装

2017-09-09 16:50 1056 查看

一.Armadillo简介

Armadillo目前使用比较广的C++矩阵运算库之一,是在C++下使用Matlab方式操作矩阵很好的选择,许多matlab的矩阵操作函数都可以找到对应,这对习惯了matlab的人来说实在是非常方便。他们之间的接口调用方式非常相似。

二、Armadillo在Windows平台下的安装

网上有很多VS平台下安装的播客,这里不多说,Windows下安装都比较简单。

这是我找到的一些文件的链接

http://www.cnblogs.com/youthlion/archive/2012/05/15/2501465.html

http://blog.csdn.net/houston11235/article/details/8266646

http://www.cnblogs.com/wacc/p/5031373.html

三.Linux和Mac平台上安装Armadillo库

第一步

确保C++编译器在你的系统上面已经安装,例如g++编译器

在Mac平台下你需要安装Xcode,关于Xcode怎么安装这里不做更多的概述。

第二步

确保你的系统上已经安装了cmake工具,如果你没有安装cmake,你可去这个网站下载:http://www.cmake.org,然后进行安装。或者使用命令行(如:yum/apt-get install cmake)。

第三步

确保lapack库和blas库在你的系统上已经安装,Mac系统不是必须的;如果想要更好的性能,建议安装OpenBLAS库,想要了解更多关于OpenBLAS,请访问:http://www.openblas.net/;如果要使用疏松矩阵, 需要安装arpack和 superlu库,superlu 5.20版本是可用的。

在Linux系统中,这些库(OpenBLAS, LAPACK, SuperLU和ARPACK)推荐应该安装才行。对于每个不同的库,必须安装与之相一致的开发文件;例如:当安装lapack包时也要安装lapack-devel或者lapack-dev包。

第四步

打开一个终端窗口,切换到armadillo库的安装目录,执行下面命令

cmake .
make


cmake如果执行中断,会提示你相关需要安装在你系统上的库(例如:OpenBLAS, LAPACK, SuperLU, ARPACK等等),然后会去修改Armadillo库相应配置。cmake将会产生一个检测所有库的wrapper运行armadillo 矩阵库。

如果你要重新运行cmake,最好的办法是首先CMakeCache.txt文件

第五步:

如果你使用的是超级用户的权限,那么执行下面命令即可

sudo make install


如果你没有超级用户的权限,那么像下面这么做

make install DESTDIR=my_usr_dir


my_usr_dir这个目录是用来存储C++的头文件与源文件的

到此:如果没有出现任何问题,那么恭喜您,你已经完成该库的安装。

第六步.Linux和Mac OS下的编译与链接

在Armadillo的目录下,有案例代码,在example目录下,进入该目录后执行下面的命令

g++ example1.cpp -o example1 -O2 -larmadillo


如果你想使用Armadillo,但是你又没有安装,那么你执行下面这个命令

g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-7.200.3/include -DARMA_DONT_USE_WRAPPER -lblas -llapack


此处很可能会提示您没有安装blas和lapack库,您安装一下就可用了。注意编译语句的armadillo库的版本,你使用的是哪一个版本是改成哪一个版本即可。

在Mac平台下,如果你有openblas,请把blas库换成openblas;把blas和lapack换成framework Accelerate。

第七步

执行编译完成后的案例example1,效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息