最近在用Qt做一些小项目的时候,发现Qt的编译很慢,理论上来说不应该有这样的问题的。查了一下Qt的文档以及在知乎上的问题为什么 Qt Creator 的编译如此之慢?,调整了一些设置以后好多了。
问题主要是出在在没有设置的情况下每一次编译Qt都会编译所有文件,这是不应该的。
- 预编译头文件
在project.pro
文件中,加入以下两行
CONFIG += c++11 precompile_header
PRECOMPILED_HEADER = stable.h
在stable。h
中加入头文件,在开发阶段可以直接加入QWidgets
,QtGui
等重量级头文件,此后编译中就不会再对这些头文件进行处理了。注意,stable.h
文件不要被包含在项目的任意角落里面。
make
启动多核编译
在项目——构建设置——构建步骤——make的参数中,加入-jX
选项,其中X为CPU线程数+1,如我的I7是四核八线程,此处应该为-j9
注:make的选项仅适用于MinGw编译。
MSVC编译器可以在pro文件中加入(未测试)
QMAKE_CXXFLAGS += /MP