1、进入Opencv官网,下载Opencv 4.1.1.zip,并放到linux工作目录下;
2、unzip 命令解压;
3、安装依赖工具:
sudo apt-get install cmake;
sudo apt-get install build-essential;
sudo apt-get install libgtk2.0-dev(2.0以上的版本);
sudo apt-get install pkg-config;
sudo apt-get install python-dev python-numpy;
sudo apt-get install libavformat-dev libavcodec-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev;
4、cd opencv-4.1.1;
mkdir release;
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..;
opencv4默认不生成.pc文件,加上OPENCV_GENERATE_PKGCONFIG=ON 才会生成,生成的opencv4.pc存放在/usr/local/lib/pkgconfig下(注意生成的不是opencv.pc,版本原因,后面编译的时候参数应该是opencv4而不是opencv);
5、make -j8; (make的时候可能因为内存不够而报错,c++: internal compiler error: Killed (program cc1plus,在运行的时候可以分配多点内存给Ubuntu,我用的虚拟机直接分配了8G,内存不够的话可以网上找swap方法解决)
sudo make install;
6、配置C++:sudo nano /etc/ld.so.conf.d/opencv4.conf,最后一行(如果文件为空也没关系)添加/usr/local/lib;
7、配置库:sudo ldconfig;
8、添加环境变量:sudo gedit /etc/profile 最后添加export PATH="/usr/local/lib/pkgconfig:$PATH", 之后source一下;
9、g++ test.cpp -o test `pkg-config --cflags --libs opencv4` 说明:`pkg-config --cflags --libs opencv4`告诉程序从opencv4.pc里头找相应的头和库。
10、出现错误
/usr/local/include/opencv4/opencv2/core/cvdef.h:690:4: error: #error "OpenCV 4.x+ requires enabled C++11 support"
# error "OpenCV 4.x+ requires enabled C++11 support" 原因应该是当前编译环境处于C++11以下的版本;
11、我用的gcc版本是5.4.0的,貌似默认不支持C++11,需要在编译的时候加上-std=c++11,
g++ -std=c++11 test.cpp -o test `pkg-config --cflags --libs opencv4` 这样就通过了。
原文地址:https://www.cnblogs.com/lonelypinky/p/11579911.html