一、问题描述

最近使用 Qt 的 MSVC 编译器编译项目时遇到一个很烦人的现象,就是编译输出会又大量的类似“注意:包含头文件:X:/XXXX/XXX/X/XX/XXX.h”的输出,会直接刷屏编译日志。

图 1.1 问题展示

这不仅会使得编程时查找编译的关键日志很困难,还会极大的拖慢编译的速度。

二、解决问题

通常来说,这是 MSVC 编译器的编译选项 /showIncludes 的功能,一般默认是不开启的。但是使用 Qt 的 Unix Makefiles CMake 生成器时在编译的时候该选项是默认开启的,并且关不掉……是的,大概率是 Qt 官方的 BUG,不过一直没修!

所以,我们不使用 Qt 的 Unix Makefiles CMake 生成器就好了,直接在 Qt 设置 → 构建工具(Kits) → CMake generator 中将其改为 Ninja 即可(这里推荐使用 Ninja)。

图 2.1 修改设置演示

相关帖子 Error building Qt for Visual Studio: “ninja: build stopped: subcommand failed.”