在ubuntu下装多个版本的库


背景

在工程开发和科研中,常常会遇到开源代码对库版本或者编译器的要求,例如C++11,C++17,opencv3.2.0,opencv4.5.1。在linux中安装一个库的其余版本时常常会把从前已安装的库覆盖掉,所以需要解决版本共存的问题。


写在前面

安装opencv,需要提前安装几个包!!

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

参考文章:https://blog.csdn.net/public669/article/details/99050101

可能用到的包

ippicv_linux_20151201 网络不佳安装过程无法下载,可以手动安装
百度网盘链接:https://pan.baidu.com/s/1rhJOVj2XyHKJj3ABX6ifmw提取码:51lg
参考文章:https://blog.csdn.net/studyvcmfc/article/details/124100939


下载你需要的库

例如:opencv-3.2.0: https://github.com/opencv/opencv/archive/refs/tags/3.2.0.tar.gz


创建安装目录

在编译工程时会遇到很多不同的版本库,所以我专门建立一个文件夹做我的安装目录,可以根据自己的需求选择文件夹

cd  /home/yuanshuang
mkdir myPack

解压文件到安装目录

先把将压缩包复制到myPack里,然后执行下面指令解压

//opencv-3.2.0.tar.gz
cd myPack
tar -zxvf opencv-3.2.0.tar.gz

切换到解压文件夹下,创建需要的文件夹

cd opencv-3.2.0
mkdir release
cd release
mkdir installed

installed文件夹中的就是我们安装的opencv3.2.0库


cmake编译安装

//此时仍然在release文件目录下
cmake -D CMAKE_BUILD-TYPE="Release" -D CMAKE_INSTALL_PREFIX=/home/yuanshuang/myPack/opencv-3.2.0/release/installed -D CMAKE_CXX_STANDARD=11 ..
make
make install

注:在一些工程中可能是使用C++11或者其他标准编写的,如若在写CmakeLists.txt时没有指定C++编译标准,则cmake会使用默认的标准编译,例如C++17,此时你需要在执行cmake时指定编译标准,例如: yuanshuang@ubuntu:$cmake -D CMAKE_CXX_STANDARD=11

-D后跟一个变量可以对变量赋值。eg: -D CMAKE_CXX_STANDARD=11表示使用C++11标准编译


结尾

完成了上述步骤opencv就安装完了。在实际应用时,写CmakeLists.txt还指定包的安装路径

set(CMAKE_PREFIX_PATH "/home/yuanshuang/myPack/opencv-3.2.0/release/installed/")
FIND_PACKAGE(OpenCV 3.2.0 REQUIRED)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值