cmakelist中添加opencv

版本选择

qt的msvc,版本2019

opencv版本

4.5.3

配置了环境变量

x64下的v14中的bin

配置头文件

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}",
                "d:\\QT\\6.5.3\\msvc2019_64\\include\\QtWidgets",
                "d:\\QT\\6.5.3\\msvc2019_64\\include\\QtGui",
                "d:\\QT\\6.5.3\\msvc2019_64\\include\\QtCore",
                "D:/QT/6.5.3/msvc2019_64/include",
                "${workspaceFolder}/build/Desktop_Qt_6_5_3_MSVC2019_64bit-Debug/tg-gy_autogen/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ]
        }
    ],
    "version": 4
}

cmakelist配置

cmake_minimum_required(VERSION 3.5)

project(tg-gy VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 查找 Qt
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)

# 设置项目源文件
set(PROJECT_SOURCES
        main.cpp
        mainwindow.cpp
        mainwindow.h
        mainwindow.ui
)

# 检查 Qt 版本并创建目标
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(tg-gy
        MANUAL_FINALIZATION
        ${PROJECT_SOURCES}
    )
else()
    if(ANDROID)
        add_library(tg-gy SHARED
            ${PROJECT_SOURCES}
        )
    else()
        add_executable(tg-gy
            ${PROJECT_SOURCES}
        )
    endif()
endif()

# 添加 OpenCV 头文件路径
target_include_directories(tg-gy PRIVATE "D:/OPENCV4.11/opencv/build/include")

# 添加 OpenCV 库路径
target_link_libraries(tg-gy PRIVATE
    "D:/OPENCV4.11/opencv/build/x64/vc14/lib/opencv_world453d.lib"
    Qt${QT_VERSION_MAJOR}::Widgets
    Qt${QT_VERSION_MAJOR}::Core
    Qt${QT_VERSION_MAJOR}::Gui
)

# 设置目标属性
if(${QT_VERSION} VERSION_LESS 6.1.0)
  set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.tg-gy)
endif()
set_target_properties(tg-gy PROPERTIES
    ${BUNDLE_ID_OPTION}
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

# 安装目标
include(GNUInstallDirs)
install(TARGETS tg-gy
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

# 如果是 Qt 6,调用 qt_finalize_executable
if(QT_VERSION_MAJOR EQUAL 6)
    qt_finalize_executable(tg-gy)
endif()

CMakeLists.txt文件中添加OpenCV库并配置它通常涉及几个步骤,包括设置OpenCV的安装路径以及找到相关的库文件。如果你遇到在资源管理器中找不到OpenCV文件夹的问题,这可能是由于以下几个原因: 1. 检查OpenCV安装位置:确认OpenCV是否已成功安装,并且安装路径正确。CMake需要知道OpenCV库的头文件目录(通常是`include/OpenCV`)和库文件目录(例如`lib/x64`或`lib`,取决于你的系统架构)。 2. 添加OpenCV find_package指令:在CMakeLists.txt中添加类似这样的行来查找OpenCV: ``` find_package(OpenCV REQUIRED) ``` 这会自动搜索预设的路径寻找OpenCV,如果不在标准位置,你需要指定一个自定义路径,如: ``` find_package(OpenCV PATHS /path/to/opencv-installation) ``` 3. 配置链接器:配置CMake时,确保将OpenCV添加到`target_link_libraries`列表中,比如对于一个名为`MyProject`的目标: ``` add_executable(MyProject main.cpp) target_link_libraries(MyProject ${OpenCV_LIBS}) ``` 4. 查看错误信息:CMake可能在终端中提供了一些关于找不到库的详细错误信息,这些可以帮助你定位问题所在。 5. 清理并重新构建:清除CMake缓存(`rm -rf CMakeCache.txt`),然后重新运行CMake和构建过程,确保所有配置都是最新的。 如果你已经尝试了上述步骤但仍无法解决问题,可以考虑更新你的CMake版本,或者检查OpenCV是否按照官方文档正确安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值