Opencv多版本共存问题

  • 一、面向读者
  • 二、安装过程

一、面向读者

 已经安装好opencv软件包,例如opencv-3.4和opencv-4.5.4(本文用于演示的共存版本)

二、安装过程

1.首先,进入opencv-3.4的目录下,创建并进入build文件

$ cd opencv-3.4
$ mkdir build
$ cd build

2.在/usr/local 目录下创建空文件夹 opencv34,通过 cmake命令设置opencv的打包路径,
(这一步是重点)因为opencv默认的打包路径为/usr/local,为了使opencv多版本共存,必须将不同
版本的opencv打包到不同的目录下, 核心问题在于CMAKE_INSTALL_PREFIX=…

很多人在配置opencv多版本的时候会将opencv3和opencv4装到同一个目录,也就是/usr/local下,
这样安装会导致opencv不同版本之间发生覆盖,带来意想不到的后果。所以下面的步骤十分重要

$ sudo mkdir /usr/local/cv34
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/cv34 ..
$ make -j8                      //根据自己电脑的核数,一般开8核,有16核的建议用 -j12
$ sudo make install             //开始配置opencv到cv34下

3.打开配置~/.bashrc文件

$ sudo gedit ~/.bashrc   将其中opencv的路径改为想用的版本

在文件的末尾加入下面两行代码

export PKG_CONFIG_PATH=/usr/local/cv34/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/cv34/lib

保存并关闭~/.bashrc文件,通过source ~/.bashrc命令使刚才的改动生效

$ source ~/.bashrc                   //使改动生效
# 查看是否可以查询opencv的版本号
$ pkg-config --modversion opencv     //查看opencv版本

成功了就是这样

opencv-4.5.4的配置只需要把上面的cv34,全部换成cv45就可以了,下面是我的bashrc文件

有一步不同的地方在于,opencv4自己是没有pkgconfig这个文件的,需要我们自己把cv34中的pkgconfig目录下的opencv.pc文件拷贝到cv45中,再将其中的版本号、名称修改好
这样两个版本就都可以使用并查询了

这样唯一的缺点就是每次只能使用一个版本的opencv,而且每次切换版本需要修改bashrc文件
目前我也没有想到更好的解决办法。当然写一个脚本来更改版本也是方便的

希望能够对大家有一些帮助!

Opencv多版本共存问题相关推荐

  1. pcl和opencv多版本共存

    pcl和opencv多版本共存 在Ubuntu 16.04系统下安装kinetic版本ROS, 会默认安装opencv 3.3.1和pcl1.7. opencv安装路径 /opt/ros/kineti ...

  2. OpenCV 3与ROS兼容、OpenCV多版本共存

    OpenCV 3与ROS兼容.OpenCV多版本共存 在ubuntu下使用ros和OpenCV的时候,总是会遇到有些程序用的是OpenCV3写的,而有些则用到OpenCV2,而之前每当遇到这种情况,总 ...

  3. linux中的opencv多版本共存切换的问题

    配置环境 已经编译了OpenCV2.X和OpenCV3.X的,而且安装在了不同的文件夹中,(其中有一个是默认安装,安装的路径位/usr/local) 切换文件配置 1 ~./bashrc的配置 #打开 ...

  4. 【机器视觉学习笔记】OpenCV C++的安装、配置及多版本共存 (VS2015)

    目录 下载 (可选 -- 二选一)添加环境变量 新建项目和配置 配置包含目录 配置库目录 添加库 (可选 -- 二选一)添加dll文件的路径 测试 平台:Windows 10 20H2 Visual ...

  5. 适合win7的python版本_windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2...

    windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2 1.官网下载python3.6.2 https://www.python.org/ftp/ ...

  6. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...

    前言 一向用Python 3,最近研究微信公众号开发,各云平台只支持Python 2.7,想用其他版本需要自己搭建环境.而网上又搜不到Python 3开发微信公众号的资料.暂打算先使用Python 2 ...

  7. Python多版本共存之pyenv

    2019独角兽企业重金招聘Python工程师标准>>> 经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2. ...

  8. Linux下快速静态编译Qt以及Qt动态/静态版本共存

    Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...

  9. APP多版本共存,服务端如何兼容?

    做过APP产品的技术人员都知道,APP应用属于一种C/S架构的,所以在做多版本兼容,升级等处理则比较麻烦,不像web应用那么容易.下面将带大家分析几种常见的情况和应对方式:  小改动或者新加功能的  ...

  10. CentOS下与Apache连接的PHP多版本共存方案实现详解

    这篇文章主要介绍了CentOS下与Apache连接的PHP多版本共存方案实现,针对mod_fcgi模块的配置作了一些说明,需要的朋友可以参考下 在apache下整合fastCGI模式运行的php-fp ...

最新文章

  1. PHP中不被注意但是比较重要的函数用法集合
  2. leetcode算法题--“气球” 的最大数量
  3. Go 的 flag 包可以解析命令行的参数
  4. Java内存管理的9个小技巧
  5. os.urandom(n)函数解释Python
  6. POST中文乱码解决方案
  7. ireport 找不到子报表:Could not load object from location
  8. 工业级以太网交换机具有哪些优越特性
  9. java中同步组件_Java并发编程(自定义同步组件)
  10. combobox之下拉宽度自适应
  11. 三角形分类(洛谷P5717题题解,Java语言描述)
  12. MapReduce:Shuffle过程详解
  13. 2G、3G即将退出群聊;全国携号转网就要实现了;5G商用列车已发车...
  14. Nacos系列:欢迎来到Nacos的世界!
  15. 巩固知识体系!淘宝秒杀脚本java
  16. 分析打开hdu 3335 (最小路径覆盖)
  17. python模拟微信投票_python 模拟微信投票
  18. excel设置行高_聊聊python 办公自动化之 Excel(下)
  19. python之轻量级框架flask开发接口,操作数据库
  20. ZeroTier-全网畅连

热门文章

  1. 农夫山泉2面面试经历
  2. python控制窗口_python小笔记-控制窗口的现实和隐藏
  3. 《投射技术》与科学研究汉字笔迹心理学的希望
  4. fadeIn()方法和fadeOut()方法
  5. 比尔盖茨的十条“金玉良言”
  6. 火狐Firefox安装屏蔽广告插件ublock origin方法
  7. Android 左右滑动控件
  8. windows下管理员用户与标准用户切换过程中的坑
  9. 既是消费者也是管理者:纽约州分布式能源改革
  10. xp本地连接不见怎么办|本地网络连接不见解决方法