0

有时候知道编译器是否需要预编译头文件以及如何调用头文件会很有用。我的目标是增加一些预处理器指令是这样的:如何通过预处理器指令检查编程是否在Visual C++中需要预编译头文件?

#ifdef REQUIRES_PRECOMPILED_HEADER 
#include PRECOMPILEDHEADER_FILE 
#endif 

所以我的问题是:是否有预定义变量,如REQUIRES_PRECOMPILED_HEADERPRECOMPILEDHEADER_FILE

+1

如果存在,则会列出[此处](http://msdn.microsoft.com/en-us/library/b0084kay.aspx)。 – ildjarn

+0

您确定这是预定义变量的完整列表吗?如果是这样,答案将是'不'。但据我所知微软文档有时不完整或过时。 –

+0

答案确实不是。约定是stdafx.h。但创建自己的项目,使其成为一个静态的lib项目。 –

回答

1

假设你的源文件不需要包含在预编译头文件中的任何头文件。因此,如果您试图将源文件包含在其他源文件使用预编译头文件的项目中,只需确保预编译头文件是turned off for yours

只需选择您的源文件的属性,并在“预编译标题”下选择“不使用预编译标题”。

+0

好的,以简单的方式解决问题。 (我通常避免使用预编译头文件,所以我不太习惯它们,谢谢你的提示。) –

1

支持他人使用预编译头文件不是你的任务。他们可以将你的头添加到他们的预编译头中,或者不是。你只是试图为他们做这件事而制造麻烦。

所以,问题解决了:不这样做。

这是没有必要的,它创造了麻烦。