You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt Creator Projects视图锤子图标:含义、来源及消除方法(附版本)

Qt Creator Projects侧边栏的锤子图标条目解析与解决方法

我之前在使用Qt Creator早期版本搭配CMake时也碰到过一模一样的情况,给你详细拆解一下:

这些锤子图标是什么?

带锤子图标的条目都是CMake生成的可构建目标(Build Targets)。Qt Creator会把CMakeLists.txt里定义的所有目标——不管是你手动创建的可执行文件、库,还是CMake自带的辅助目标(比如clean、install),甚至子项目里的各类目标——都识别出来并展示,锤子图标就是用来标识这个条目是可以单独触发构建操作的。

为什么会出现这么多?

主要有两方面原因:

  • CMake本身会生成不少隐式目标,比如all(构建所有目标)、clean(清理构建产物)、install(安装项目),如果你的项目用到了CTest,还会额外出现test这类目标;
  • Qt Creator 4.3.1对CMake目标的过滤逻辑比较基础,几乎会把所有目标都直接列出来,不像后续版本会自动筛选出你更关注的可执行文件/核心库目标。再加上你的CMake版本3.9.5也相对较早,生成的目标列表本身就会比较“全面”。

怎么消除(隐藏)它们?

给你几个实用的解决方法,按操作便捷性排序:

1. 在Qt Creator内直接过滤目标

这是最快的解决方案:

  • 找到Projects侧边栏的右上角,应该有个漏斗样式的筛选按钮,点击后选择只显示可执行目标(Executables)或者相关目标(Relevant Targets);
  • 或者右键点击侧边栏空白区域,看看有没有“Filter Targets”相关选项,勾选你想保留的目标类型(比如只留Executables)。
    设置后那些辅助目标就会被隐藏,侧边栏只会显示你真正需要构建的程序。

2. 修改CMakeLists.txt标记非核心目标

如果有些自定义的辅助目标(比如你自己写的打包、脚本类目标)不想被展示,可以在CMakeLists里给它们添加属性:

SET_TARGET_PROPERTIES(your_custom_target PROPERTIES EXCLUDE_FROM_ALL TRUE)

这样这个目标就不会被纳入默认构建流程,Qt Creator也会把它从主列表里移除(如果后续需要构建它,还是可以在CMake的完整目标列表里找到)。

3. 升级Qt Creator版本(可选)

如果你的项目允许升级工具链,建议把Qt Creator升到4.8及以上版本。后续版本对CMake目标的展示做了大幅优化,会自动过滤掉clean、install这类内置辅助目标,只展示核心的可执行文件和库目标,从根源上解决这个问题。

内容的提问来源于stack exchange,提问作者Joachim W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:18:02