天空闲话 发表于 2025-3-26 18:12:45

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()


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: cmakelist中添加opencv