2

这将是一个非常奇怪的问题,但是是否可以在 Visual Studio 2010/2012 设置中取消_WIN32定义和定义__GNUC__而不接触任何源代码?

_WIN32在“C/C++ -> Preprocessor -> Undefine Preprocessor Definitions”(即/U"_WIN32")中添加了,但看起来它不受 Visual Studio IDE 的尊重。

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

也许有人想争论我为什么要使用 Visual Studio for linux?好吧,所有的 vcxproj/sln 都已经为 windows 配置好了,我想利用它。所以.. 让我们不要讨论其他选项,例如源洞察、emacs 标签等...

4

2 回答 2

4

我也遇到了这个问题,并且能够通过在全局包含的标题中执行以下操作来解决这个问题。一个对我来说已经在发挥作用,所以我不必处理在任何地方都包含标题。

#ifdef _WIN32
#undef _WIN32
#endif
于 2013-10-01T20:25:15.347 回答
1

使用 microsoft 编译器时始终定义预处理器宏_WIN32并且不能重新定义/未定义(来源: http: //msdn.microsoft.com/en-us/library/b0084kay (v=vs.80).aspx )

于 2013-02-23T00:43:48.360 回答