Qt使用预编译头PCH及多核编译加快编译 | Blurred code

Qt使用预编译头PCH及多核编译加快编译

panda

2017/09/03

LastMod:2021/02/23

Categories: cpp Tags: panda

最近在用Qt做一些小项目的时候,发现Qt的编译很慢,理论上来说不应该有这样的问题的。查了一下Qt的文档以及在知乎上的问题为什么 Qt Creator 的编译如此之慢?,调整了一些设置以后好多了。

问题主要是出在在没有设置的情况下每一次编译Qt都会编译所有文件,这是不应该的。

  1. 预编译头文件

project.pro文件中,加入以下两行

CONFIG += c++11  precompile_header
PRECOMPILED_HEADER  = stable.h

stable。h中加入头文件,在开发阶段可以直接加入QWidgets,QtGui等重量级头文件,此后编译中就不会再对这些头文件进行处理了。注意,stable.h文件不要被包含在项目的任意角落里面。

  1. make启动多核编译

项目——构建设置——构建步骤——make的参数中,加入-jX选项,其中X为CPU线程数+1,如我的I7是四核八线程,此处应该为-j9 注:make的选项仅适用于MinGw编译。 MSVC编译器可以在pro文件中加入(未测试)

QMAKE_CXXFLAGS += /MP