Fork me on GitHub

Ubuntu系统opencv多版本共存

背景:

假如ubuntu系统中之前已经安装好2.4.13版本的opencv,但是项目需要使用4.1版本的opencv,在不影响已经安装的opencv版本的前提下,按照如下方法设定环境变量,即可解决两个版本在同一个系统中共存的问题。

4.1版本的opencv源码编译后,安装在~/work/github/opencv-4.1/release目录,避免安装到默认路径,造成多版本混乱:

目录结构如下:

1
2
3
4
5
6
7
release
|-- bin
|-- include
|-- lib
`-- share

4 directories, 0 files
指定头文件路径:
1
$export CPLUS_INCLUDE_PATH=~/work/github/opencv-4.1/release/include/opencv4/:$CPLUS_INCLUDE_PATH

指定查找头文件的路径

指定CMake库路径:
1
$export PKG_CONFIG_PATH=/home/chengwei/work/github/opencv-4.1/release/lib/pkgconfig:$PKG_CONFIG_PATH

cmake通过find_package( )才能找到相应的库

指定编译链接库路径:
1
$export LIBRARY_PATH=/home/chengwei/work/github/opencv-4.1/release/lib:$LIBRARY_PATH

此处要注意LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别,前者用于编译,后者用于运行时链接

指定运行链接库路径:
1
$export LD_LIBRARY_PATH=/home/chengwei/work/github/opencv-4.1/release/lib:$LD_LIBRARY_PATH

通过设定上述环境变量,即可让项目在编译和链接时,使用4.1版本的opencv头文件和动态库

您的鼓励是我持之以恒的动力