C++ 如何在不关闭预编译头的情况下修复C1010错误?

C++ 如何在不关闭预编译头的情况下修复C1010错误?,c++,visual-studio,precompiled-headers,C++,Visual Studio,Precompiled Headers,所以, 我必须在VS2005项目中使用预编译头。现在我有一个共享源文件,它没有包含“stdafx.h”。。。如何在不将stdafx.h添加到源文件顶部和不关闭预编译头的情况下将共享源文件包括在项目中???文件属性->C/C++->预编译头->创建/使用预编译头->不使用…查看该文件的属性(上下文菜单),在C/C++预编译头部分中 将“创建/使用预编译头”更改为“不使用预编译头” 注意-我刚刚在VC++2003中检查了这个选项-该选项可能在VC++2005或2008中移动了,但我对此表示怀疑。即使

所以,
我必须在VS2005项目中使用预编译头。现在我有一个共享源文件,它没有包含“stdafx.h”。。。如何在不将stdafx.h添加到源文件顶部和不关闭预编译头的情况下将共享源文件包括在项目中???

文件属性->C/C++->预编译头->创建/使用预编译头->不使用…

查看该文件的属性(上下文菜单),在C/C++预编译头部分中

将“创建/使用预编译头”更改为“不使用预编译头”

注意-我刚刚在VC++2003中检查了这个选项-该选项可能在VC++2005或2008中移动了,但我对此表示怀疑。即使它已经移动了,也不难找到。

您也可以使用该选项:“该选项的效果与在命令行、CL环境变量或命令文件中指定的每个源文件的第一行的#include指令中指定带有双引号的文件相同。”


在不更改所有源文件的情况下引入预编译头非常方便…

oh snap。我觉得这很简单,我只是在装傻。谢谢我仍然熟悉VS:)这会关闭PCH,这正是OP想要避免的。。。改为使用/FI。此选项允许您关闭此文件的pch-这可能正是op想要的。你是从哪里得到你对希望使用预编译头的源文件的解释的?是的,我不确定这是否是特定于MFC的。。。我以前从未使用过预编译的标题。谢谢这将关闭PCH。。。改用/FI。@Xavier-它关闭一个特定cpp文件的PCH。这很少是一件大事,而且可能是有益的。如果项目的每个头都包含在单个stdafx.h头中,并且每个cpp文件都包含该头(正如VC++所鼓励的),那么对任何头的任何更改都会导致整个项目中的每个cpp文件都需要重建。当然,这意味着为不同的cpp文件显式地选择不同的预编译头文件-但是选项非常明显,与“不使用…”选项在同一页上,那么为什么要陈述明显的-esp,因为它并不总是值得这么麻烦。