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

Qt与CMakeLists.txt

版本:Qt6.5.3

文件--->新建项目(new project)

这是QtCreator自动生成的CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.19)
project(test LANGUAGES CXX)find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets)qt_standard_project_setup()qt_add_executable(testWIN32 MACOSX_BUNDLEmain.cppmainwindow.cppmainwindow.hmainwindow.ui
)target_link_libraries(testPRIVATEQt::CoreQt::Widgets
)include(GNUInstallDirs)install(TARGETS testBUNDLE  DESTINATION .RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)qt_generate_deploy_app_script(TARGET testOUTPUT_SCRIPT deploy_scriptNO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})

这份 CMakeLists.txt 文件配置了一个使用 Qt 6 C++ 图形界面应用程序项目。

项目基础配置

cmake_minimum_required(VERSION 3.19)
project(test LANGUAGES CXX)
  • cmake_minimum_required指定构建此项目所需的 CMake 最低版本为 3.19,确保兼容性和功能支持。

  • project定义了项目名称为 test,并指定项目语言为 C++(CXX)。

查找 Qt6 包

find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets)
  • 查找 Qt6 库,要求版本至少为 6.5。

  • REQUIRED表示如果找不到指定的包或组件,配置过程将终止并报错

  • COMPONENTS Core Widgets指定需要 Qt6 的 Core 和 Widgets 模块。

COMPONENTS : 组件;部件

Qt 项目标准设置

qt_standard_project_setup()

这是 Qt 提供的宏,用于为项目设置一系列通用的构建策略和标准配置,例如自动包含 moc、uic、rcc 等 Qt 元对象编译器。

创建可执行文件

qt_add_executable(testWIN32 MACOSX_BUNDLEmain.cppmainwindow.cppmainwindow.hmainwindow.ui
)
  • qt_add_executable是 Qt 对 CMake 标准 add_executable的增强,用于创建名为 test的可执行文件。

  • WIN32和 MACOSX_BUNDLE是平台相关选项:

    • WIN32在 Windows 上表示创建一个 GUI 应用程序(非控制台窗口)。

    • MACOSX_BUNDLE在 macOS 上表示将应用打包为 .app捆绑包。

  • 列出的源文件和头文件(如 main.cppmainwindow.cpp)以及界面文件(mainwindow.ui)会被 Qt 的构建系统自动处理(例如,ui文件由 uic处理)。

链接 Qt 库

target_link_libraries(testPRIVATEQt::CoreQt::Widgets
)
  • 将 Qt 的 Core 和 Widgets 模块链接到可执行文件 test

  • PRIVATE表示这些库仅用于构建 test目标本身,而不会传递给可能依赖 test的其他目标。

安装规则与部署脚本

include(GNUInstallDirs)
install(TARGETS testBUNDLE  DESTINATION .RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)qt_generate_deploy_app_script(TARGET testOUTPUT_SCRIPT deploy_scriptNO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})
  • 安装配置​​:

    • include(GNUInstallDirs)包含 GNU 标准安装目录的定义(如 CMAKE_INSTALL_BINDIR通常为 bin)。

    • install(TARGETS ...)指定目标 test的安装规则:BUNDLE(macOS 捆绑包)、RUNTIME(可执行文件)和 LIBRARY分别安装到不同目录。

  • ​部署脚本​​:

    • qt_generate_deploy_app_script生成一个用于部署应用程序的脚本,该脚本会收集运行应用所需的 Qt 库等资源。(qt生成部署软件脚本)

    • 生成的脚本通过 install(SCRIPT ...)在安装时执行。

http://www.dtcms.com/a/445669.html

相关文章:

  • Ubuntu20.04安装Anaconda3-2025.06
  • VirtualBox中ubuntu1804虚拟机共享文件夹设置
  • 基于单片机的环境监测智能报警系统的设计(论文+源码)
  • 成都网页制作推广合肥网站seo报价
  • 短波红外相机在工业视觉检测中的应用
  • 马鞍山市建设银行网站科右前旗建设局网站
  • 【傻呱呱】托管项目到GitHub(纯前端UI操作)
  • 神经网络之激活函数Softmax
  • 高端网站建设哪家公司好网站建设招标样本
  • Qt Quick 3D-机械臂模型显示与交互
  • 轻松Linux-10.进程信号
  • 淘宝网站可信度状况及建设策略桂林网站
  • HTML简单入门—— 基础标签与路径解析
  • AI Agent:从“超级玩具“到“核心生产力“,智能新纪元的深度解析
  • 网站开发和运行 法律html5登录界面完整代码
  • 数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
  • 全栈开发杂谈————关于websocket若干问题的大讨论
  • Headless Service
  • Robotframework7.0与 6.0 的差异
  • dmfldr快速装载工具使用
  • 网站建设技术思维导图wordpress页面结构
  • 兰亭妙微QT软件开发与UI设计协同:如何避免设计与实现脱节?
  • Qt3D--箭头示例
  • 自助建子站龙口网络
  • 【QT常用技术讲解】opencv实现指定分辨率打开摄像头
  • ICT 数字测试原理 7 - -VCL 测试环境
  • stp mode mstp 概念及题目
  • ASP4644芯片低功耗设计思路解析
  • Qt 开发修炼指南:从入门到通透的实战心法
  • 怎么格式化idea中的vue文件