OpenCV vscode配置

项目场景:

提示:这里简述项目相关背景:
OpenCV 在vscode配置中遇到的问题
(CMakeLists配置)


问题描述

链接错误 (LNK2019):之后遇到链接错误,表明在链接阶段找不到 cv::imshow 函数的实现。

原因分析:

因为没有正确链接 OpenCV 库

解决方案:

根据构建配置(调试或发布)手动设置 OpenCV 库的路径:
OpenCV_LIBS_DEBUG: 设置调试版本库文件的路径,这里使用 opencv_world480d.lib(带 d 表示调试版本);OpenCV_LIBS_RELEASE: 设置发布版本库文件的路径,这里使用 opencv_world480.lib(无 d 表示发布版本);target_link_libraries 命令将库文件链接到可执行目标(${PROJECT_NAME},即 ObjectDetection)。根据构建配置,链接不同的 OpenCV 库,可解决问题。

下面为完整代码

cmake_minimum_required(VERSION 3.10)

project(ObjectDetection)

# 指定 OpenCV 的根目录
set(OpenCV_DIR "D:/Program Files/opencv/build")

# 手动设置 OpenCV 的包含路径
set(OpenCV_INCLUDE_DIRS "${OpenCV_DIR}/include")

# 添加头文件路径
include_directories(${OpenCV_INCLUDE_DIRS})

# 创建可执行文件
add_executable(${PROJECT_NAME} src/Main.cpp)

# 检查 CMAKE_CONFIGURATION_TYPES 和 CMAKE_BUILD_TYPE
if(CMAKE_CONFIGURATION_TYPES)
    # 多配置生成器
    set(OpenCV_LIBS_DEBUG "${OpenCV_DIR}/x64/vc16/lib/opencv_world480d.lib")
    set(OpenCV_LIBS_RELEASE "${OpenCV_DIR}/x64/vc16/lib/opencv_world480.lib")
    
    target_link_libraries(${PROJECT_NAME} 
        debug ${OpenCV_LIBS_DEBUG} 
        optimized ${OpenCV_LIBS_RELEASE}
    )
endif()

猜你喜欢

转载自blog.csdn.net/pumpkinn233/article/details/142062821