我可以在项目之间共享预编译头以减少编译时间吗?

Dav*_*vid 6 precompiled-headers visual-studio

我在Visual Studio中有近200个项目,构建它们需要很长时间.我注意到为每个项目构建stdafx.cpp(预编译头)很慢.我为每个项目使用相同的标题,为什么我要构建它〜200次?如何构建它并在项目之间共享?

Dav*_*vid 4

这个问题之前已经 问过 但 Visual Studio 已经改变了。

在 Visual Studio 2008 中,可以与一些黑客共享预编译头。指定一个项目来构建 PCH,并让所有其他项目都依赖于它(项目依赖项)。确保您只有一个 stdafx.h,并且每个项目都可以使用 #include "stdafx.h"(其他包含目录)看到它。将每个客户端项目设置为使用 masters PCH 文件(预编译头文件)。现在使用 xcopy 将 master 的 .pdb 和 .idb 复制到每个客户端输出目录中。您必须将主项目设置为输出具有不同名称的 pdb(输出文件)。请参阅上面的链接了解更多详情。

在 Visual Studio 2010 和 Visual Studio 2012 中,没有已知的方法来共享 PCH 文件。

  • 其他人,包括我自己,都能够在 Visual Studio 2010 和 2012 中实现此功能(请参阅 David 答案中的第二个链接:http://stackoverflow.com/questions/645747/sharing-precompiled-headers- Between-projects-in-视觉工作室/4170902#4170902)。 (2认同)