ubuntu下cmake编译指定opencv版本(傻瓜式教程)

这里具体指当我们不想使用系统默认版本时的指定方法。比如系统默认的版本为opencv2.4.9,而我们建立的project需要使用opencv3.4,比如opencv3.4安装在/opt/utility/下。

1. cmake编译

ubuntu下经常使用cmake编译形成makefile,cmake编译主要依赖CMakeLists.txt。当使用到opencv时,由于opencv2和opencv3之间有些许区别,有些库并不相同,那么当系统中同时安装多个opencv时在cmake编译时如何指定版本呢?

非常简单的方法,即在CMakeLists.txt中指定opencv路径即可。

需要知道的是,当安装好opencv时,会在其目录下产生一个OpenCVConfig.cmake文件。这个文件中指定了的CMake要去哪里找OpenCV的,其的.h文件在哪里等,比如其中一行:

(OpenCV_INCLUDE_DIRS “ /home/ubuntu/src/opencv-3.1.0/build ”  “ /home/ubuntu/src/opencv-3.1.0/include ”  “ /家/ Ubuntu的/ src目录/opencv-3.1.0/include/opencv “)

我们只需要将OpenCVConfig.cmake的路径添加到CMakeLists.txt中即可。具体是:

在对应project的CMakeLists.txt文件中找到

find_package(OpenCV REQUIRED

然后在上面添加OpenCVConfig.cmake的路径,比如:

 set(OpenCV_DIR“/home/ubuntu/src/opencv-3.1.0/build”)

注意OpenCVConfig.cmake的位置根据不同安装方法或版本的不同而存在于不同位置,比如下面的添加方法:

 set(OpenCV_DIR “/opt/utility/opencv-3.4/share/OpenCV”)

2. 系统环境中修改默认opencv版本

在~/.bashrc中设置环境变量:

export PKG_CONFIG_PATH=~/opencv-3.4.1/build/installed/lib/pkgconfig
export LD_LIBRARY_PATH=~/opencv-3.4.1/build/installed/lib

注意先看opencv安装文件后再进行路径指定。主要查找lib位置和pkgconfig位置,比如有版本为:

export PKG_CONFIG_PATH=~/opencv-3.4/lib/pkgconfig
export LD_LIBRARY_PATH=~/opencv-3.4/lib

然后再终端查看默认版本:

pkg-config --modversion opencv

 

你可能感兴趣的:(ubuntu)