包含ifdef标头

时间:2016-03-28 21:29:16

标签: c++ header include conditional-compilation

我已尝试将以下内容放入我的C ++代码中:

#ifdef _WIN32  
#include "stdafx.h"  
#endif  

但我得到错误:

PCH warning: header stop cannot be in a macro of #if block. An IntelliSense PCH file was not generated.  

我试图让我的代码在windows和linux上运行,stdafx.h在linux上不起作用,因为它在visual studio上是必须的。

是否有另一种方法可以将if与ifdef一起使用?

1 个答案:

答案 0 :(得分:0)

不幸的是,您不能使用预编译的标头并使用Microsoft MSVC。 MSVC完全忽略div.validation-summary-valid { display: none; } 行之前的所有代码(以及任何垃圾)行。因此#include "stdafx.h"会出乎意料。

把那个#endif放在stdafx.h里面。