cmakelist中添加opencv

打印 上一主题 下一主题

主题 966|帖子 966|积分 2898

版本选择
qt的msvc,版本2019
opencv版本
4.5.3
设置了环境变量
x64下的v14中的bin

设置头文件
  1. {
  2.     "configurations": [
  3.         {
  4.             "name": "Win32",
  5.             "includePath": [
  6.                 "${workspaceFolder}",
  7.                 "d:\\QT\\6.5.3\\msvc2019_64\\include\\QtWidgets",
  8.                 "d:\\QT\\6.5.3\\msvc2019_64\\include\\QtGui",
  9.                 "d:\\QT\\6.5.3\\msvc2019_64\\include\\QtCore",
  10.                 "D:/QT/6.5.3/msvc2019_64/include",
  11.                 "${workspaceFolder}/build/Desktop_Qt_6_5_3_MSVC2019_64bit-Debug/tg-gy_autogen/include"
  12.             ],
  13.             "defines": [
  14.                 "_DEBUG",
  15.                 "UNICODE",
  16.                 "_UNICODE"
  17.             ]
  18.         }
  19.     ],
  20.     "version": 4
  21. }
复制代码
cmakelist设置
  1. cmake_minimum_required(VERSION 3.5)
  2. project(tg-gy VERSION 0.1 LANGUAGES CXX)
  3. set(CMAKE_AUTOUIC ON)
  4. set(CMAKE_AUTOMOC ON)
  5. set(CMAKE_AUTORCC ON)
  6. set(CMAKE_CXX_STANDARD 17)
  7. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  8. # 查找 Qt
  9. find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
  10. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
  11. # 设置项目源文件
  12. set(PROJECT_SOURCES
  13.         main.cpp
  14.         mainwindow.cpp
  15.         mainwindow.h
  16.         mainwindow.ui
  17. )
  18. # 检查 Qt 版本并创建目标
  19. if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
  20.     qt_add_executable(tg-gy
  21.         MANUAL_FINALIZATION
  22.         ${PROJECT_SOURCES}
  23.     )
  24. else()
  25.     if(ANDROID)
  26.         add_library(tg-gy SHARED
  27.             ${PROJECT_SOURCES}
  28.         )
  29.     else()
  30.         add_executable(tg-gy
  31.             ${PROJECT_SOURCES}
  32.         )
  33.     endif()
  34. endif()
  35. # 添加 OpenCV 头文件路径
  36. target_include_directories(tg-gy PRIVATE "D:/OPENCV4.11/opencv/build/include")
  37. # 添加 OpenCV 库路径
  38. target_link_libraries(tg-gy PRIVATE
  39.     "D:/OPENCV4.11/opencv/build/x64/vc14/lib/opencv_world453d.lib"
  40.     Qt${QT_VERSION_MAJOR}::Widgets
  41.     Qt${QT_VERSION_MAJOR}::Core
  42.     Qt${QT_VERSION_MAJOR}::Gui
  43. )
  44. # 设置目标属性
  45. if(${QT_VERSION} VERSION_LESS 6.1.0)
  46.   set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.tg-gy)
  47. endif()
  48. set_target_properties(tg-gy PROPERTIES
  49.     ${BUNDLE_ID_OPTION}
  50.     MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  51.     MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  52.     MACOSX_BUNDLE TRUE
  53.     WIN32_EXECUTABLE TRUE
  54. )
  55. # 安装目标
  56. include(GNUInstallDirs)
  57. install(TARGETS tg-gy
  58.     BUNDLE DESTINATION .
  59.     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  60.     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  61. )
  62. # 如果是 Qt 6,调用 qt_finalize_executable
  63. if(QT_VERSION_MAJOR EQUAL 6)
  64.     qt_finalize_executable(tg-gy)
  65. endif()
复制代码


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

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天空闲话

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表