tcreator 关于 cmake的设置

1.概要

安装完qt发现,qmake可以运行,但是cmake不行,最终返现cmke没有设置,导致的。

之前的安装也没有设置过,直接就能用。

这次cmake 是后安装,有可能qcreator没有自动检测到。

但是通过手动设置cmake解决了问题。

2.内容

在 Qt Creator 中,CMake 是重要的构建系统之一,尤其适合跨平台项目和复杂工程。以下是 Qt Creator 中 CMake 配置的核心要点和操作指南:


1. Qt Creator 对 CMake 的支持

  • 内置集成
    Qt Creator 提供对 CMake 的原生支持,包括:
    • 自动解析 CMakeLists.txt 文件,显示项目结构(目标、依赖、变量)。
    • 支持 CMake 预设(Presets)和自定义构建配置。
    • 与代码编辑器集成(如跳转到定义、代码补全)。
  • 版本要求
    需确保 CMake 版本 ≥ 3.1(推荐使用最新稳定版,如 3.27+)。

2. 配置 CMake 全局设置

通过 Tools > Options > Kits > CMake 管理全局配置:

  • 指定 CMake 路径
    添加系统安装的 CMake 可执行文件(如 C:\Program Files\CMake\bin\cmake.exe 或 /usr/local/bin/cmake)。
  • 配置默认参数
    设置全局 CMake 参数(如 -DCMAKE_BUILD_TYPE=Debug),但项目级配置优先级更高。
  • 禁用自动生成
    取消勾选 “Automatically run CMake after the configuration step” 可手动控制生成时机。

3. 项目级 CMake 配置

a. 创建/导入 CMake 项目
  • 新建项目
    选择 File > New Project > Import Existing Project > CMake Project,指定源代码目录。
  • 导入现有项目
    打开含 CMakeLists.txt 的目录,Qt Creator 会自动检测为 CMake 项目。
b. 配置构建选项
  • 构建套件(Kits)
    在项目配置界面(左侧边栏 Projects)选择 Kit,指定编译器、Qt 版本和 CMake 生成器(如 NinjaUnix Makefiles)。
  • 构建目录
    默认位于项目根目录的 build-ProjectName-KitName 文件夹,可自定义路径。
  • CMake 参数
    在 Projects > Build Settings > CMake 中添加参数:
    • -DCMAKE_PREFIX_PATH=/path/to/Qt:指定 Qt 安装路径(解决 Could not find a Qt installation 错误)。
    • -DBUILD_SHARED_LIBS=ON:构建共享库。
    • -DCMAKE_CXX_STANDARD=17:设置 C++ 标准。
c. 使用 CMake 预设(Presets)
  • 定义预设
    在项目根目录创建 CMakePresets.json,定义多套构建配置(如 Debug/Release、不同编译器):
    {
      "version": 3,
      "configurePresets": [
        {
          "name": "debug",
          "displayName": "Debug Config",
          "description": "Debug build with GCC",
          "binaryDir": "${sourceDir}/build-debug",
          "generator": "Unix Makefiles",
          "cacheVariables": {
            "CMAKE_BUILD_TYPE": "Debug",
            "CMAKE_PREFIX_PATH": "/opt/Qt/6.5.0/gcc_64"
          }
        }
      ]
    }
  • 在 Qt Creator 中使用
    进入 Projects > Build Settings > CMake,选择预设名称(如 debug),参数会自动加载。

4. 高级功能

a. 实时重新配置
  • 修改 CMakeLists.txt 后,Qt Creator 会自动检测变更并提示重新生成构建系统。
  • 手动触发:点击 Build > Run CMake
b. 调试 CMake 脚本
  • 在 CMakeLists.txt 中设置断点,通过 Build > Debug CMake Script 逐步执行(需启用 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON)。
c. 集成测试
  • 使用 enable_testing() 和 add_test() 定义测试用例,通过 Build > Run CTest 执行。

5. 常见问题解决

a. “CMake Error: Could not find Qt”
  • 确保 CMake 参数中指定了 CMAKE_PREFIX_PATH(Qt 安装路径,如 C:/Qt/6.5.0/mingw_64)。
  • 检查构建套件中的 Qt 版本是否与 CMake 参数一致。
b. 生成器不兼容
  • 若报错 Unknown CMake generator "Xcode",需安装对应工具链(如 macOS 的 Xcode)或更换生成器(如 Ninja)。
c. 构建目录权限问题
  • 避免在系统保护目录(如 C:\Program Files)下构建,选择用户有写权限的路径。

6. 最佳实践

  • 使用 Ninja 生成器
    在 Projects > Build Settings > CMake 中选择 Ninja,编译速度比 Makefiles 快 30%-50%。
  • 分离构建目录
    保持源代码目录干净,所有中间文件生成在独立的 build/ 文件夹。
  • 版本锁定
    在 CMakeLists.txt 顶部添加 cmake_minimum_required(VERSION 3.27) 避免版本不兼容。

通过以上配置,Qt Creator 可高效管理 CMake 项目,结合其代码编辑和调试功能,显著提升开发体验。对于复杂项目,建议结合 CMake 预设和持续集成(CI)工具(如 GitHub Actions)实现标准化构建流程。

3.关联链接

问题关联事件:安装完qtcreator 创建的工程报异常,或者qmake正常,cmake无法编译工程

关联问题:

No kits are enabled for this projuect. Enable kits in the “Projects“ mode. 文原因分析-优快云博客

QApplication 没有文件或者目录-优快云博客

基础知识

QApplication文件的位置-优快云博客

Clang 是LLVM(低级虚拟机)项目的一个开源编译器前端-优快云博客 

查看cmake 版本-优快云博客 

GCC和Clang有什么差别-优快云博客

qt 的构建套件概述-优快云博客

qt 构建套件中 register documentation 的作用-优快云博客

ubuntu 与 qt 相关的环境变量有什么-优快云博客 

4.关联知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值