當工程代碼量大的時候,尤其大量引用第三方類庫不當的時候,會導致編譯速度下降,嚴重影響工作效率。
一. 並行編譯
1、如果是VC++編譯器,可以在 .pro里加入下面一行
QMAKE_CXXFLAGS += /MP
或者:
*msvc* {
QMAKE_CXXFLAGS += /MP
}
指定/mp編譯選項,編譯器將使用並行編譯,同時起多個編譯進程並行編譯不同的cpp。
2、如果是MinGW編譯器:
Projects->Build Settings->Build Steps->make ,參數中填入-j8 (后面的數字是需要指定編譯的核數)
二.預編譯頭文件
編譯時間長,很大一部分時間都是花在預編譯上,尤其是頭文件各種包含。
1.在pro文件中添加:
PRECOMPILED_HEADER = <path_to_your_pch_file>
CONFIG += precompile_header
2..h文件中使用前置聲明, 所有的.cpp 文件中包含 預編譯的頭文件
三.刪除多余的Q_Object宏, 當需不要的時候
1.如果一個類中,不使用信號,槽,那就沒必要使用Q_Object宏
2.在.cpp文件中的最后,包含相應的moc_*.cpp文件
例如:a.cpp ,moc后,會生成moc_a.cpp, 所以在a.cpp文件的最后,添加#include"moc_a.cpp", 會提高編譯速度。