ubunto 16.04 安装opencv3.0.0与opencv4.1.1 共存的问题以及在项目中如何区分使用

在跑第二版十四讲中的第八讲代码的时候发现报了:

cv::parallel_for_(cv::Range(0, px_ref.size()),
                          std::bind(&JacobianAccumulator::accumulate_jacobian, &jaco_accu, std::placeholders::_1));

这个函数的错误,仔细一查发现是opencv3并不支持这个函数,必须安装opencv4,好了都到这份上了。抓紧安装opencv4把,在此之前笔者的电脑上已经有opencv3.0.0了
开始吧那就!!!!

首先下载opencv4.1.1的源码附上github的链接(下载zip包即可)(也可以直接到官网进行下载):
github链接
下载好了开始安装依赖吧:
安装Cmake

sudo apt-get install cmake #如果已经安装过cmake,则该步骤省略

正式安装依赖

sudo apt-get install build-essential libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

至此安装依赖大功告成!!!!!!
解压已经下载好的zip压缩包,直接右键提取到此出即可!!!!!!!!!!
开始编译

mkdir build
cd ./build
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/home/s/opencv_4_install ..

在这里我解释一下这句话:

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/home/s/opencv_4_install ..

这句话的意思是将opencv4安装到/home/s/opencv_4_install这个目录下,opencv_4_install这个目录是我自己新建的,因为/usr/local里面已经安装过opencv3,所以为了两个版本的opencv不冲突,可以自己另选择文件夹安装opencv4
cmake完事之后开始进行make编译

sudo make -j4

如果电脑的性能好的话还可以-j8,性能差得就只能sudo make了
最后一步就是安装了

sudo make install

至此opencv4安装完成 实现了opencv3和opencv4的共存

接下就是如何在项目当中使用opencv3或者opencv4了,接下我将以在clion编译器中如何使用为例进行讲解(详情请移步我的下一篇博客)!!!

你可能感兴趣的:(c++,SLAM,编译问题解决)