我有一个很大的Qt项目,分为几个静态库(大约70个)和一个应用程序,为此,我正在使用带有subdirs模板的.pro文件。

为了加快编译时间,我想使用预编译头,并且发现在每个子项目上使用PRECOMPILED_HEADER可以解决问题,但每个项目分别编译预编译头(这是最慢的一步)。

有没有一种方法可以在subdirs模板中包含的所有子项目之间“共享”预编译的头文件,那么预编译的头文件可以被构建一次,并且可以被所有子项目使用?

问候

最佳答案

经过一些试验,我发现没有办法在子项目之间共享预编译的头文件。我认为缺少此功能的原因是每个子项目都可能更改编译器/预处理器标志,这会使为一个子项目构建的预编译头与其他子项目不兼容。

共享的预编译头对于某些也共享编译器标志的简单项目可能很有用,但是我猜想检测和处理与该条件有关的偏差对于qmake来说太麻烦了。

关于c++ - Qt上的PRECOMPILED_HEADER和Subdirs模板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1727159/

10-11 18:43