Qt qtcreator配置cmake

添加CMake

选择 Preferences > CMake > Tools.

可以将其设置为默认,如此新建的kit会自动选择默认cmake

完成CMake 代码(自动补全)

Qt Creator 使用通用高亮为 CMake 命令提供代码完成的特定参数。例如,CMake: set_source_files_properties 命令只建议使用源文件属性,而不建议使用测试或目标属性。

支持以下 CMake 特有的触发标记:

  • $ 用于变量
  • 用于生成器表达式的 $<
  • 用于环境变量的 $ENV

按 Tab 或 Enter 键接受所选建议并完成代码。

调试 CMake 项目文件

通过 Qt Creator 的调试适配器协议(DAP)实现,您可以调试 CMake 项目文件。
注意:DAP 需要 CMake 3.27 或更高版本。
调试 CMake 项目文件

  1. 在编辑模式下,在 CMake 文件中设置断点。
  2. 转到调试 > 开始调试 > 开始 CMake 调试

当应用程序在断点处停止时,可以在调试模式视图中检查数据

编辑 CMake 配置文件

要打开 CMakeLists.txt 文件进行编辑,可在 “项目 ”视图中右键单击该文件,然后选择 “使用打开”>“CMake 编辑器”。

您也可以使用定位器中的 cmo 过滤器,在编辑器中打开当前运行配置的 CMakeLists.txt 文件。这与选择 “构建”>“为运行配置构建 ”时的构建目标相同。

支持以下功能:

  • 当光标位于某处时按 F2:
    • 文件名 - 打开文件
    • CMake 函数、宏、选项、目标、CMake 的查找或包含模块、由 set 或 list 创建的局部变量或包 - 转到该项目
  • 关键词补全
  • 本地函数和变量、缓存变量、ENV、目标、包以及 find_package 添加的变量的代码自动补全
  • 用于设置 CMake 打印属性和变量、创建 Qt 控制台和图形用户界面应用程序以及查找模块示例的预定义代码片段
  • 路径补全
  • 自动缩进
  • 匹配括号和引号

在问题中显示警告和错误。

格式化 CMake 文件

您可以使用 cmake-format 工具和本地 .cmake-format、.py 或 .json 配置文件来格式化 CMake 文件中的任何文本,而无需用一对栅栏来防护。 您必须安装该工具,并告知 Qt Creator 安装位置。
保存文件时自动格式化 CMake 文件:

  1. 选择Preferences > CMake > Formatter
  2. 在 CMakeFormat 命令中,输入 cmake-format.exe 的路径。
  3. 选择 "保存文件时自动格式化 "以在保存 CMake 文件时自动格式化。
  4. 在限制 MIME 类型中,添加要格式化的文件的 MIME 类型,用分号分隔。 默认值为 text/x-cmake 格式的 CMake 文件。 如果该字段为空,则所有文件都会被格式化。
  5. 选择 "仅限当前项目中包含的文件 "复选框,只格式化属于当前项目的 CMake 文件。

管理 CMake 项目中的文件

当您在项目中添加新文件或现有文件时,Qt Creator 会自动将它们添加到 CMakeLists.txt 文件中的 qt_add_executable、add_executable 或 qt_add_library 函数中。
如果 Qt Creator 无法识别目标创建的位置,它将使用 target_sources 函数来添加文件。
对于 Qt Quick 项目,文件会添加到 qt_add_qml_module 函数中,前缀为 QML_FILES、SOURCES 或 RESOURCES 函数参数。
在 "项目 "或 "文件系统 "视图中重命名或删除文件时,Qt Creator 会在 CMakeLists.txt 文件中重命名或删除它们。

覆盖项目的 CMake 设置

覆盖当前项目的 CMake 设置:

  1. Go to Projects > Project Settings > CMake.
  2. 清除 使用全局设置。
  3. 为项目配置 CMake。

您的选择将覆盖在  Preferences > CMake > General中设置的值。

SettingValueRead More
自动运行 CMake在编辑项目中的 CMakeLists.txt 配置文件时,运行 CMake 刷新项目信息。 此外,在构建项目时也会刷新项目信息。View CMake project contents
软件包管理器自动设置设置Conan 或vcpkg  软件包管理器,以便与 CMake 配合使用。Using CMake with Package Managers
在使用初始参数重新配置之前进行询问选择 "使用初始变量重新配置 "时,行动前会询问。Re-configuring with Initial Variables
重新加载 CMake 预置前询问当您选择 "构建">"重新加载 CMake 预置 "时,会先询问再行动。CMake Presets
显示源组文件夹内的子文件夹在 "项目 "视图中隐藏子文件夹名称,并根据源组排列文件。Hide subfolder names in Projects view
默认显示高级选项默认在初始配置和当前配置中显示所有 CMake 变量。Viewing Advanced Variables
使用结点进行 CMake 配置和构建操作在 Windows 上,使用 CMake 配置、构建和安装操作的连接点。Using Junction Points on Windows

剖析 CMake 代码

利用 CMake 3.18 及更高版本中的剖析支持,您可以找出 CMake 花在配置项目上的时间。
要在Chrome Trace Format Visualizer展示台中查看剖析信息,请选择 Analyze > CMake Profiler.

阅读 CMake 文档

安装 CMake 时,CMake 文档会以 Qt 帮助文件格式 (.qch) 安装。 它由 Qt Creator 自动注册,您可以通过以下方式查看:

  • 将鼠标悬停在函数、变量、属性、策略、环境变量或 CMake 查找或包含模块上以显示工具提示
  • 选择任何上述元素并按 F1 键显示其文档
  • 切换到帮助模式

要在线查看文档,请在帮助模式下打开并选择(打开在线文档)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501564.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JeeSite 快速开发平台:全能企业级快速开发解决方案|GitCode 光引计划征文展示

投稿人GitCode ID&#xff1a;thinkgem 光引计划投稿项目介绍 JeeSite 快速开发平台&#xff0c;不仅仅是一个后台开发框架&#xff0c;它是一个企业级快速开发解决方案&#xff0c;后端基于经典组合 Spring Boot、Shiro、MyBatis&#xff0c;前端采用 Beetl、Bootstrap、Admi…

大模型系列17-RAGFlow搭建本地知识库

大模型系列17-RAGFlow搭建本地知识库 安装ollama安装open-wehui安装并运行ragflowRAG&#xff08;检索、增强、生成&#xff09;RAG是什么RAG三过程RAG问答系统构建步骤向量库构建检索模块生成模块 RAG解决LLM的痛点 使用ragflow访问ragflow配置ollama模型添加Embedding模型添加…

迟来的前端面试经验

最近也是在换工作&#xff0c;小公司和大厂&#xff08;虾皮、腾讯&#xff09;都有面试。几次面试收获还是比较大的&#xff0c;了解许多自己的短板&#xff0c;当然也拿到了合适的offer。本文主要整理下面试遇到的问题和知识点&#xff0c;希望对准备找工作的掘友有所帮助。 …

DepthLab: From Partial to Complete 论文解读

目录 一、概述 二、相关工作 1、深度补全 2、单目深度估计 3、已知部分深度的下游任务 三、DepthLab 1、总论 2、编码器和解码器 3、Estimation U-Net 4、Reference U-Net 四、训练操作 1、深度归一化 2、掩模策略 五、数据集 1、训练数据集 2、评估数据集 六、…

直播预告丨社区年度交流会 《RTE 和 AI 融合生态洞察报告 2024》发布

新的一年开始&#xff0c;是时候再深度交流一次了&#xff01;欢迎关注 1 月 4 日周六晚 社区年度交流会的 线上直播 。 这将是一群 实时多模态 AI 开发者 的聚会。 我们将一起探讨 Voice Agent 在 AI 陪伴助手、AI 硬件和 AI 企业服务等应用场景中的技术突破与产品创新。同时…

RP2K:一个面向细粒度图像的大规模零售商品数据集

这是一种用于细粒度图像分类的新的大规模零售产品数据集。与以往专注于相对较少产品的数据集不同&#xff0c;我们收集了2000多种不同零售产品的35万张图像&#xff0c;这些图像直接在真实的零售商店的货架上拍摄。我们的数据集旨在推进零售对象识别的研究&#xff0c;该研究具…

实战设计模式之建造者模式

概述 在实际项目中&#xff0c;我们有时会遇到需要创建复杂对象的情况。这些对象可能包含多个组件或属性&#xff0c;而且每个组件都有自己的配置选项。如果直接使用构造函数或前面介绍的工厂方法来创建这样的对象&#xff0c;可能会导致以下两个严重问题。 1、参数过多。当一个…

我的博客年度之旅:感恩、成长与展望

目录 感恩有你 技能满点 新年新征程 嘿&#xff0c;各位技术大佬、数码潮咖还有屏幕前超爱学习的小伙伴们&#xff01;当新年的钟声即将敲响&#xff0c;我们站在时光的交汇点上&#xff0c;回首过往&#xff0c;满心感慨&#xff1b;展望未来&#xff0c;豪情满怀。过去的这…

聆听音乐 1.5.9 | 畅听全网音乐,支持无损音质下载

聆听音乐手机版是面向广大音乐爱好者的移动应用程序&#xff0c;用户可以随时随地通过手机享受丰富的音乐资源。它提供了多种魅力功能&#xff0c;让用户在手机上畅享更舒适的音乐体验&#xff0c;每位用户都能享受精彩纷呈的收听体验。此外&#xff0c;软件还支持无损音质音乐…

GRU-PFG:利用图神经网络从股票因子中提取股票间相关性

“MCI-GRU: Stock Prediction Model Based on Multi-Head Cross-Attention and Improved GRU” 论文地址&#xff1a;https://arxiv.org/pdf/2410.20679 摘要 金融市场因复杂性及大数据时代的来临&#xff0c;使得准确预测股票走势变得尤为重要。传统的时序分析模型&#xff0…

Leetcode 第426场周赛分析总结

3370. 仅含置位位的最小整数 AC代码 class Solution { public:int smallestNumber(int n) {int x 1;while (x - 1 < n) {x << 1;}return x - 1;} };分析总结 也可以先直接获取n的长度&#xff0c;然后计算得到&#xff0c;这样时间复杂度由O(logn)优化为O(1) 在C…

在 SQL 中,区分 聚合列 和 非聚合列(nonaggregated column)

文章目录 1. 什么是聚合列&#xff1f;2. 什么是非聚合列&#xff1f;3. 在 GROUP BY 查询中的非聚合列问题示例解决方案 4. 为什么 only_full_group_by 要求非聚合列出现在 GROUP BY 中&#xff1f;5. 如何判断一个列是聚合列还是非聚合列&#xff1f;6. 总结 在 SQL 中&#…

C++ —— 智能指针

内存泄漏 什么是内存泄漏&#xff0c;内存泄漏的危害 什么是内存泄漏&#xff1a;内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内 存泄漏并不是指内存在物理上的消失&#xff0c;而是应用程序分配某段内存后&#xff0c;因为设计错误&#xff0c;失去…

Ethernet 系列(12)-- 基础学习::SOME/IP

目录 1. SOME/IP简介&#xff1a; 1.1 什么是SOME/IP&#xff1a; 1.2 什么时候使用SOME/IP&#xff1a; 2. SOME/IP的特点&#xff1a; 2.1 序列化&#xff1a; 2.2 远程过程调用&#xff08;RPC&#xff09;: 2.3 服务发现&#xff1a; 2.4 发布/订阅&#xff1a; 2.5 UDP消息…

UE5.3 虚幻引擎 Windows插件开发打包(带源码插件打包、无源码插件打包)

0 引言 随着项目体量的增大&#xff0c;所有代码功能都放一起很难管理。所以有什么办法可以将大模块划分成一个个小模块吗。当然有&#xff0c;因为虚幻引擎本身就遇到过这个问题&#xff0c;他的解决办法就是使用插件的形式开发。 例如&#xff0c;一个团队开发了文件I/O模块插…

自学记录鸿蒙API 13:实现多目标识别Object Detection

起步&#xff1a;什么叫多目标识别&#xff1f; 无论是生活中的动物识别、智能相册中的场景分类&#xff0c;还是工业领域的检测任务&#xff0c;都能看到多目标识别的身影。这次&#xff0c;我决定通过学习HarmonyOS最新的Object Detection API&#xff08;API 13&#xff09…

光伏安装在屋顶:安全、环保还是潜在威胁?

随着环保意识的增强和科技的进步&#xff0c;光伏发电作为一种可再生能源技术&#xff0c;正逐渐走进千家万户。然而&#xff0c;随着光伏板的普及&#xff0c;关于其在屋顶安装是否对人体有害的疑问也随之而来。 一、光伏发电的基本原理 光伏发电是利用半导体界面的光生伏特效…

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…

MYsql--------ubantu中安装mysql

在Ubuntu平台上下载、启动和关闭MySQL的方法如下&#xff1a; 下载安装MySQL 更新软件包列表&#xff1a;打开终端&#xff0c;输入以下命令&#xff0c;确保软件包列表是最新的。sudo apt update安装MySQL服务器&#xff1a;执行以下命令安装MySQL服务器。在安装过程中&…

pygame飞机大战

飞机大战 1.main类2.配置类3.游戏主类4.游戏资源类5.资源下载6.游戏效果 1.main类 启动游戏。 from MainWindow import MainWindow if __name__ __main__:appMainWindow()app.run()2.配置类 该类主要存放游戏的各种设置参数。 #窗口尺寸 import random import pygame WIND…