以前的那篇关于多版本共存的博客就不要看了,直接看这一篇吧,以前的那一篇应该是有问题!!!!!!
1、首先到官网下载opencv3.4的源码包,然后解压缩
2、先安装依赖
//依赖库
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev
apt-get install install pkg-config
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
敲重点:
libjasper-dev
这个包很有可能安装不成功,那就不安装了,只安装 libjasper1 编译依然可以通过,至少在我的电脑上可以通过!!!!
3、依赖安装完事以后,就开始进行编译吧,首先进入opencv3.4的根目录,执行以下命令:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3_4 ..
CMAKE_INSTALL_PREFIX=/usr/local/opencv3_4 … 执行这句话之前,先在usr/local/中创建一个空的文件夹,名字可以跟我的不一样!!!!!,这样做到的木的是防止防止覆盖opencv2(直接安装在/usr/local/下的),至于如何在/usr/local/下面加入文件夹自行百度!!!
然后
make -j4 #如果报错,可改为make,但是会慢一些
make的过程中很有可能包编译器或者是关于c++的问题 ,解决方法是在CMakeLists.txt中加入:
SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")
,加入位置在第一个endif()下面即可。
再次 make -j4即可。
4、最后sudo make install
即可
5、如何切换版本使用呢?
很简单,打开bashrc文件
在下面加入
#opencv3.4.1
export PKG_CONFIG_PATH=/usr/local/opencv3_4/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv3_4/lib
#opencv2.4.11
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
#export LD_LIBRARY_PATH=/usr/local/lib
很清晰,不用哪个版本就注释掉即可,然后source ~/.bashrc一下
看修改成功没有可以利用下面的代码:
pkg-config --modversion opencv
如果输出对应的版本即修改成功了!!!!!!
6、关于如何在工程中运用呢?
举个例子:
set(OpenCV_DIR /usr/local/opencv3_4/share/OpenCV)
include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS} /usr/local/opencv3_4/include)
find_package(OpenCV 3.4 REQUIRED)
大家可以仿照我的来写吧,另外如果用/usr/local/下的opencv,则直接 find_package(OpenCV REQUIRED) 即可
今天就写到这里,有不明白的,直接留言!!!!!!!!!!