当前位置: 首页 > news >正文

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

相关文章:

  • 【css酷炫效果】纯CSS实现科技感网格背景
  • 基于ros2与moveit2开发的yolo识别抓取虚拟机械臂
  • 开源模型:加速构建智能生态,引领人工智能新未来
  • Linux系统管理与编程07:任务驱动综合应用
  • 【鸿蒙开发】Hi3861学习笔记- UDP客户端
  • 第十六届蓝桥杯康复训练--6
  • C语言入门教程100讲(7)类型转换
  • 【算法学习计划】动态规划 -- 背包问题(01背包和完全背包)
  • git工作区、暂存区、本地仓库、远程仓库的区别和联系
  • 在Android Studio中,如何快速为变量添加m?
  • Vue3 0基础入门,三分钟掌握vue3核心知识
  • CentOS8 安装 Docker-CE
  • How to install samba on Linux mint 22.1
  • 字节跳动算法高频题:动态规划最优模板
  • C语言入门教程100讲(2)变量与常量
  • 计算机二级 web程序设计 知识点 考点大全
  • k8s高可用集群安装
  • 向量叉积的应用——正反画画
  • RedisMySQL 3种常用的缓存读写策略详解
  • 如何在1分钟内编写Cursorrules
  • 大英博物馆展歌川广重:他是梵高最钟爱的浮世绘名家
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 第19届威尼斯建筑双年展开幕,中国案例呈现“容·智慧”
  • 当我们提起拉动消费时,应该拉动什么消费?
  • 巴基斯坦全面恢复领空开放
  • 巴基斯坦称对印度发起军事行动