\qquad
在实际开发中,不一定会拥有sudo
权限,所以需要将OpenCV编译在非环境路径下面。之前将OpenCV配置在系统路径下面的时候,在CMake中我们是使用find_package
进行查找的,使用CMake链接函数库,无非就是对头文件和动态(静态)链接的引用,只要find_package
找到的函数库,就可以直接使用XXX_LIBRARIES
和XXX_INCLUDE_DIRSA
进行处理。
\qquad
对于CMake而言,本身没有搜索库的功能,但是库的提供者可以通过提供相关CMake代码去实现该功能(如FindXXX.cmake
或者是XXXConfig.cmake
)。上述两个文件都是库作者提供的,因此只需要让你的CMakeLists中找到该这两个文件就可以了。find_package
采用两种模式去搜索库:
Module模式(默认方式):
搜索CMAKE_MODULE_PATH
指定路径下面的FindXXX.cmake
文件,在文件中定义了XXX_INCLUDE_DIRS
和XXX_LIBRARIES
变量的值。
Config模式:
搜索XXX_DIR
指定路径下面的XXXConfig.cmake
文件,在文件中定义了XXX_INCLUDE_DIRS
和XXX_LIBRARIES
变量的值。
###关于OpenCV的配置###
set(CMAKE_PREFIX_PATH "/home/User/opencv/install/share/OpenCV")
//set(OpenCV_DIR /home/User/opencv/build/)
find_package(OpenCV REQUIRED)
include_directories(${OPENCV_INCLUDE_DIRS})
target_link_libraries(MAIN ${OpenCV_LIBS})