Ubuntu14.04中opencv2.4.8 和opencv3.1.0共存安装

本文介绍如何在同一台计算机上安装并使用不同版本的OpenCV。通过详细步骤指导读者安装OpenCV 2.4.8与3.1.0版本,并通过CMake配置文件实现版本之间的轻松切换。

参考博客:http://blog.youkuaiyun.com/hansry/article/details/75309906

运行VINS的时候时候安装过ROS,自带有opencv2.4.8。后来学习高博的SLAM14讲又装了3.1.0,后来跑VINS又装了一遍2.4.8。

反复折腾太傻了,找了些资料,学了下怎么安装两个版本并存在电脑上, 以及怎么调用。

安装:
现在系统中的版本是2.4.8
pkg-config --modversion opencv

 
以前也安装过3.1.0,所以安装包都有。
进入解压缩之后的文件夹,进入build文件夹,先清空build文件夹,然后cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON  -D WITH_V4L=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv310 ..

 
可以发现,上面cmake的时候指定了安装路径为
/usr/local/opencv310
然后依然是
make -j2
sudo make install
安装结束就可以在/usr/local/目录下看到opencv310这个文件夹了
使用:
CMakeLists.txt文件里面这样设置:
# OpenCV 3.1.0
set( OpenCV_DIR  /usr/local/opencv310/share/OpenCV )
find_package( OpenCV 3.1 REQUIRED )
include_directories( SYSTEM  ${OpenCV_INCLUDE_DIRS}  /usr/local/opencv310/include )
find_package( "usr/local/opencv310/include/opencv2" )

这样就可以调用opencv的3.1.0版本了。
而如果想调用2.4.8的话,就只用写第二行,并且不用写3.1,即
#OpenCV 2.4.8
find_package( OpenCV REQUIRED )


写在研究了CMake的find_package命令之后
实际上只需在find_package命令里指定版本号,如果找到了对应的版本,就会自动定义好一些变量供我们在CMakeLists.txt里直接使用,比如下面的OpenCV_INCLUDE_DIRS和OpenCV_LIBRARIES。所以使用起来像下面这样:

find_package( OpenCV 3.1 REQUIRED)
include_directories( SYSTEM  ${OpenCV_INCLUDE_DIRS})
target_link_libraries(target_name ${OpenCV_LIBRARIES}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值