visual studio 2010/2012设置为undef _WIN32并定义__GNUC__

时间:2012-10-24 16:49:07

标签: visual-studio-2010 visual-studio-2012

这将是一个非常奇怪的问题,但是可以在visual studio 2010/2012设置中取消_WIN32并定义__GNUC__而不触及任何源代码吗?

我在“C / C ++ - >预处理器 - > Undefine预处理程序定义”(即_WIN32)中添加了/U"_WIN32",但看起来它并没有被Visual Studio IDE所尊重。

这样做的原因是在visual studio IDE和intellisense的帮助下编写linux / mac代码部分。当然,这不会编译,但就intellisense正确解析并帮助__GNUC__,我没问题。我只需要自动完成功能和其他功能。

也许有人想争论为什么我使用visual studio for linux?好吧,所有vcxproj / sln都已经为windows配置了,我想利用它。那么..我们不讨论其他选项,例如source insight,emacs标签等......

2 个答案:

答案 0 :(得分:3)

我也遇到了这个问题,并且能够通过在全局包含的标头中执行以下操作来解决此问题。其中一个已经在为我发挥作用所以我无需处理包括标题在内的所有内容。

#ifdef _WIN32
#undef _WIN32
#endif

答案 1 :(得分:1)

预处理器宏 _WIN32 总是在使用microsoft编译器时定义,无法重新定义/未定义(来源:http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx