如何提高Qt工程的编译速度

  当工程代码量大的时候,尤其大量引用第三方类库不当的时候,会导致编译速度下降,严重影响工作效率。

 

 一. 并行编译

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", 会提高编译速度。









 

posted @ 2020-02-03 10:36  StanK  阅读(2225)  评论(0编辑  收藏  举报