预编译头文件和Visual Studio

Precompiled header and Visual Studio

本文关键字:Visual Studio 文件 编译      更新时间:2023-10-16

是否有一种方法可以设置Visual Studio解决方案参数,以便它只创建预编译的头文件而不构建整个解决方案?具体来说,它是一个巨大的c++解决方案,本身包含许多项目。

谢谢。

只选择pch创建器源文件(通常是stdafx.cpp),并编译它(Ctrl-F7,或右键单击它并选择' compile ')

更多信息,因为它似乎不为您工作:

在每个使用预编译头文件的项目中,都有一个源文件用于创建pch文件,其余的只有使用 pch文件。这个源文件通常只包含一行:

#include "StdAfx.h"

"Stdafx.h"是visualc++中默认的预编译头文件名,您可以使用其他名称。如果您单独编译"StdAfx.cpp",它将生成一个名为"Your_Project_Name"的文件。Pch"(同样,这只是默认值)。您应该在中间目录中看到它,与所有obj文件所在的目录相同。这是预编译的头文件。如果你按照我说的做了,选择了'Compile'而不是'Build',那么就不会编译其他文件,也不会发生链接。

如果这仍然不能解决你的问题,那么我不知道你在问什么

这里有一篇文章描述了它的好处以及如何设置它。如果您有更大的项目,这绝对值得点击几下并占用额外的磁盘空间。

文章说你需要添加stdafx.h到所有的源文件和头文件;这是不对的。它足以添加到源代码中-确保它是第一行,因为之前的所有内容都将被忽略。

本文没有提到它,但是您将从不包含stdafx.h的源代码中获得错误。您可以选择解决此错误:您可以添加它,或者从预编译过程中排除源代码。排除源文件:

    在解决方案资源管理器中选择源文件;可以一次选择多个,
  • 右键单击高亮显示的源文件
  • 从弹出菜单中单击属性,
  • 从顶部的组合框中选择'All configurations',
  • 在c - c++配置下点击"预编译头文件",
  • 在右侧选择'不使用预编译头',
  • 单击apply,
  • 单击ok。

享受你的新构建在几秒钟从这里开始(第一个构建将花费更长的时间)。

如果您右键单击项目中除stdafx.cpp以外的任何Cpp文件,并将exclude from build设置为Yes,它将只生成预编译的头文件。

您可以通过命令行实现相同的结果,或者如果您创建的新项目仅包含stdafx.cpp