如何取消定义Visual Studio 2012的系统定义?

时间:2014-03-31 08:21:11

标签: c++ visual-studio-2012 macros compiler-flags

我使用Visual Studio 2012编辑针对Linux的源代码。问题是语法突出显示错误,因为它认为定义了_WIN32,_MSC_VER和类似的宏。我能做些什么来摆脱它们?

我尝试了两种方法:

  1. 在C ++的属性页中添加/ u命令;
  2. 添加/ U“_WIN32”/ U“_MSC_VER”等等。
  3. 但没有任何影响。 Visual Studio 2013中的问题是相同的。

    我该怎么办?

3 个答案:

答案 0 :(得分:2)

这些是编译器预定义的宏。您只能在代码中#undef。可能使用自定义头文件。

无论如何,这个要求对我来说似乎很奇怪。如果要扫描 Linux 代码,为什么要使用MSVC?如果Linux代码使用任何GCC扩展(通常是这样),它根本无法在MSVC下编译。

答案 1 :(得分:0)

您可以在项目的配置中编辑它们。

右键单击项目 - >属性 - > C / C ++ - >预处理器 - >预处理器定义

答案 2 :(得分:0)

我创建了一个测试项目。这些定义仅在编译代码时受到影响。