Tabla de contenido
1. Descargue la biblioteca OpenCV
3. Agregar variables de entorno
4. Configuración de cmakeLists.txt
(2) Configuración completa de CmakeLists.txt
1. Descargue la biblioteca OpenCV
Dirección de descarga oficial de OpenCV: descargar | OpenCV 4.6.0
Después de descargarlo, descomprímalo y obtendrá el siguiente archivo
2. Agregar ruta de búsqueda
find_package buscará archivos findxxx.cmake o xxxConfig.cmake. Necesitamos especificar la ruta de búsqueda para el archivo .cmake de antemano.
- OpenCVConfig.cmake :D:\\Descargar\\opencv4_6_0\\build\\x64\\vc15\\lib
# list(APPEND CMAKE_PREFIX_PATH 搜索路径)
list(APPEND CMAKE_PREFIX_PATH D:\\Download\\opencv4_6_0\\build\\x64\\vc15\\lib)
3. Agregar variables de entorno
En el entorno de Windows, el archivo lib se usa para compilar y pasar, y el archivo dll se usa para ejecutar. La ruta de búsqueda agregada arriba es solo para permitir que el proyecto se compile y pase. También necesitamos agregar una variable de entorno: la ruta al directorio bin de OpenCV, que será necesaria cuando se ejecute el proyecto. Se utiliza el archivo dll de OpenCV.
- Directorio bin de OpenCV : D:\Download\opencv4_6_0\build\x64\vc15\bin
4. Configuración de cmakeLists.txt
(1) Pasos de configuración
El archivo OpenCVConfig.cmake de OpenCV proporciona métodos detallados de introducción de archivos de encabezado y métodos de vinculación de archivos de biblioteca.
${OpenCV_INCLUDE_DIRS} # OpenCV 预定义变量,表示头文件目录的完整路径
${OpenCV_LIBS} # OpenCV 预定义变量,表示lib库文件的完整路径
Agregar ruta de búsqueda del archivo de encabezado:
Deje que el subproyecto vincule el archivo de la biblioteca estática OpenCV (archivo lib)
(2) Configuración completa de CmakeLists.txt
cmake_minimum_required(VERSION 3.0)
PROJECT (opencv_test)
# 添加搜索路径
list(APPEND CMAKE_PREFIX_PATH D:\\Download\\opencv4_6_0\\build\\x64\\vc15\\lib)
# 引入 OpenCV 库
find_package(OpenCV REQUIRED)
# 添加 OpenCV 库头文件搜索路径
include_directories(${OpenCV_INCLUDE_DIRS})
file(GLOB ALL_SRCS *.cpp)
add_executable(${PROJECT_NAME} ${ALL_SRCS})
# 判断是否找到 OpenCV 库
if(OpenCV_FOUND)
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
endif()