Qt + CMake 关键字学习清单

🧱 一、CMake 基础关键字(通用)

关键字说明
cmake_minimum_required(VERSION x.y)指定 CMake 最低版本
project(NAME VERSION x.y)定义项目名称和版本
set(...)设置变量值
option(...)定义构建选项(ON/OFF)
file(GLOB ...)查找指定文件列表
add_executable(...)添加可执行程序
add_library(...)添加静态或动态库
target_link_libraries(...)设置依赖库
target_include_directories(...)添加头文件路径
target_compile_definitions(...)添加预处理器宏定义
add_dependencies()指定目标之间的依赖关系,确保某个目标在另一个目标之前构建完成`
add_subdirectory(...)添加子目录(子项目)
install(...)安装构建产物
add_custom_target(...)自定义目标
add_custom_command(...)自定义命令
find_package(...)查找第三方库
message(...)输出调试信息

🧩 二、Qt 相关 CMake 命令(按版本区分)

✅ Qt6(推荐)

命令说明
find_package(Qt6 REQUIRED COMPONENTS ...)导入 Qt6 模块
qt_add_executable(...)添加 Qt6 应用
qt_add_qml_module(...)添加 QML 模块,注册插件
qt_import_qml_plugins(...)导入 QML 插件
qt_finalize_executable(...)构建 Qt 项目收尾处理
qt_standard_project_setup()标准 Qt 设置(简化配置)

🧾 Qt5(较旧方式)

命令说明
qt5_wrap_cpp(...)处理带 Q_OBJECT 的头文件
qt5_add_resources(...)加载 .qrc 资源
qt5_use_modules(...)引入模块(较旧)

🌍 三、Qt 国际化相关命令

命令 / 工具说明
lupdate提取源码中的 tr()qsTr().ts 文件
lrelease.ts 翻译文件生成 .qm 可执行文件用
add_custom_target(...)创建翻译相关构建步骤
QTranslatorQt C++ 端加载 .qm 文件
tr() / qsTr()C++ / QML 翻译字符串函数

📁 四、常见 CMake 变量

变量说明
CMAKE_CURRENT_SOURCE_DIR当前 CMakeLists.txt 所在路径
CMAKE_CURRENT_BINARY_DIR当前构建目录
CMAKE_SOURCE_DIR顶层项目路径
CMAKE_BINARY_DIR构建根目录
CMAKE_RUNTIME_OUTPUT_DIRECTORY可执行文件输出目录
CMAKE_LIBRARY_OUTPUT_DIRECTORY库文件输出路径
CMAKE_PREFIX_PATHQt/第三方库查找路径
PROJECT_NAME当前项目名称
PROJECT_VERSION项目版本
QT_VERSION_MAJORQt 主版本号
CMAKE_INSTALL_PREFIX安装路径(默认 /usr/local
CMAKE_INSTALL_LIBDIR库安装路径(例如 lib/

📦 五、QML 模块资源相关

文件 / 工具说明
qmldirQML 模块描述文件
qt_add_qml_module(...)注册资源/QML组件
plugins.qmltypesQML 插件元数据,辅助提示
qmlplugindump生成 plugins.qmltypes 的工具
QML_IMPORT_PATHQML 模块搜索路径变量

📝 学习建议顺序

  1. 掌握基本 CMake 用法:项目结构 / 编译 / 依赖
  2. 理解 Qt 模块导入与构建(推荐 Qt6)
  3. 掌握 qt_add_qml_module 与资源管理
  4. 熟悉国际化工作流:.ts.qm、QTranslator
  5. 掌握安装、部署、打包流程(windeployqt/macdeployqt/install)
  6. 深入理解变量、宏定义、构建选项的配置
最后修改:2025 年 06 月 22 日
如果觉得我的文章对你有用,请随意赞赏