ubuntu16.04系统没有自带Armadillo库,所以需要先下载官方库至系统;
一:armadillo库添加
1、联网后在命令行输入:
sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
sudo apt-get install libboost-dev
sudo apt-get install libopenblas-dev
sudo apt-get install libarpack2-dev
sudo apt-get install libsuperlu-dev
以上库文件安装时大部分库ubuntu已存在,少部分update;为防止遗漏还是全部打一遍
2、安装
sudo apt-get install libarmadillo-dev
网上其他教程可能还会用到:
cmake
make
sudo install make
几条指令,我没用也行。
注意:ubuntu会把链接库放在/usr/local/lib、/usr/lib这几个路径下,打开他们看看吧,所有的.so(动态链接库)和.a(静态链接库)文件基本都在里面了。个人认为还挺有用的,之后不论是clion还是用qt开发,都免不了配置添加某些库到工程,来源就是这些路径。
二:qt工程导入库(Armadillo、opencv、Eigen等)
打开该工程的.pro文件,所有的配置都里边完成:
在文件添加:
LIBS += -L/usr/lib
-larmadillo
保存。
其中写入格式:L是加载路径,后面说明该库在/usr/lib下,-l指后面是链接文件,将文件名的lib去掉,\指换行。
(2)openCV库添加
安装方法不再赘述,网上教程很多。
同样在该工程的.pro文件中添加链接库:
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib
-lopencv_core
-lopencv_imgproc
-lopencv_highgui
-lopencv_ml
-lopencv_video
-lopencv_features2d
-lopencv_calib3d
-lopencv_objdetect
-lopencv_flann
-lopencv_dnn
-lopencv_imgcodecs
完成。
在调用opencv函数如果出现下面等错误,就是你缺少某一个链接库,去相应的路径下找一找添加即可。
undefined reference to cv::imwrite
|| undefined reference to cv::imread
解决
(3)eigen库
基本一致了,就下面一行:
INCLUDEPATH += /usr/include/eigen3