ubuntu下同时安装和使用不同版本的库

工作中我们时常需要在不同版本的库间切换,如果同时安装了多个版本的库,将会让我们的工作更加轻松.本文介绍了在ubuntu下安装并使用不同版本库的方法.

安装

ubantu 下常用的库安装位置有两个:/usr 和/usr/local. 通过apt-get 安装的库位于/usr,自己make install的库通常位于/usr/local下。安装位置通常按照 include,lib,share文件夹来组织,include和lib分别存放头文件和库文件,而cmake模块通常在share里。如果我们要将库安装到自己指定的位置只需要在cmake时给CMAKE_INSTALL_PREFIX赋值即可,cmake DCMAKE_INSTALL_PREFIX=/usr/my,这样库就安装到/usr/my下了,在使用时find_package是找不到这个位置的,需要指定模块的位置才能正常使用.

使用

find_package()命令的原理是找到模块文件,并从中提取变量,之后我们就能正常使用OpenCV_LIB等变量了.模块文件后缀是cmake,通常位于/usr/share或/usr/local/share下,cmake默认搜索的也是这两个位置.尝试以下cmakelist,将搜索出系统中所有opencv模块的位置以及版本

PROJECT(test)

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

FIND_PACKAGE(OpenCV 8 REQUIRED)#尝试找一个不存在的版本

通常我们需要使用特定版本,在cmake之前赋值OpenCV_DIR变量为自己需要的opencv版本的模块位置即可.

PROJECT(test)

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

SET(OpenCV_DIR /usr/share/OpenCV/)#这里写自己需要的opencv版本的模块位置

FIND_PACKAGE(OpenCV REQUIRED)

MESSAGE(${OpenCV_VERSION})#输出看一下

MESSAGE(${OpenCV_DIR})

你可能感兴趣的:(Linux)