由于不同项目下对opencv的版本要求不同,所以有时候会要求切换opencv版本。
参考:
https://blog.youkuaiyun.com/qq_29828623/article/details/73556713
https://blog.youkuaiyun.com/kekong0713/article/details/53688131
https://www.cnblogs.com/newneul/p/8364924.html
但是都各有问题,选择性参考。
contrib:
https://www.cnblogs.com/lvdongjie/p/11484575.html
原安装opencv3.4,现在需要安装2.4.10
1 先查看版本
pkg-config --modversion opencv
显示3.4
2 下载并安装
下载opencv对应版本release版本
mkdir build && cd build;
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/2.4.10 -D WITH_CUDA=OFF ..
make -j8
sudo make install -j8
编译,注意给新版本建立新文件夹。
3 文件配置
sudo gedit ~/.bashrc
最下面输入
export PKG_CONFIG_PATH=/usr/local/opencv/2.4.10/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv/2.4.10/lib
保存
source ~/.bashrc
4 CMakeList文件配置
项目的CMakeList不一定能找到想要对应版本的opencv,具体还是要在CMakeList.txt中指定要找的opencv的目录,在/usr/local/opencv/2.4.10/share/OpenCV 下找到OpenCVConfig.cmake 文件,并在CMakeList.txt中添加对应的路径信息。
这样cmake的时候调用的就是2.4.10的库,想切换成原来的2.4.10版本只需将第二步的bashrc文件和CMakeList.txt文件中修改的内容改成对应的opencv2.4.10的位置就好了。
有的博客内容写的是下载安装编译地址的OpenCVConfig.cmake位置,没有尝试过对不对。
在项目的CMakeList中findpackage前set路径,注意不要加“”
set(CMAKE_PREFIX_PATH /usr/local/opencv/2.4.10/share/OpenCV)
find_package( PkgConfig )
find_package(OpenCV REQUIRED) # core imgproc highgui flann video calib3d nonfree objdetect)
if(Opencv_FOUND)
message(STATUS "The Opecv lib is found!")
endif()
以上。