文章

c++ 使用FetchContent拉取opencv作为依赖

include(FetchContent)
message(STATUS "下载opencv库") # 声明要下载的库  
FetchContent_Declare(  
        opencv  
        GIT_REPOSITORY https://github.com/opencv/opencv  
        GIT_TAG 4.10.0  
        GIT_SHALLOW 1 # only fetch the latest commit  
        GIT_PROGRESS 1 # show progress  
        OVERRIDE_FIND_PACKAGE  
)
FetchContent_MakeAvailable(opencv)
find_package(OpenCV CONFIG REQUIRED) # 查找 OpenCV 库  
message(STATUS "OPENCV_CONFIG_FILE_INCLUDE_DIR ${OPENCV_CONFIG_FILE_INCLUDE_DIR}")  
message(STATUS "OPENCV_MODULE_opencv_core_LOCATION ${OPENCV_MODULE_opencv_core_LOCATION}")  
message(STATUS "OPENCV_MODULE_opencv_highgui_LOCATION ${OPENCV_MODULE_opencv_highgui_LOCATION}")  
message(STATUS "OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS}")
add_executable(study src/main.cpp)  
  
target_include_directories(${PROJECT_NAME} PRIVATE  
        ${OPENCV_CONFIG_FILE_INCLUDE_DIR} # OpenCV 配置文件目录  
        ${OPENCV_MODULE_opencv_core_LOCATION}/include # OpenCV 核心模块头文件目录  
        ${OPENCV_MODULE_opencv_highgui_LOCATION}/include # OpenCV 高层GUI模块头文件目录  
)

target_link_libraries(${PROJECT_NAME} PRIVATE opencv_core) # 引入 OpenCV 核心模块

许可协议:  GPL V3