我使用 Visual Studio 2012 编辑面向 Linux 的源代码。问题是语法高亮显示错误,因为它认为定义了 _WIN32、_MSC_VER 和类似的宏。我能做些什么来摆脱它们?
我尝试了两种方法:
- 在 C++ 的属性页中添加/u 命令;
- 添加了/U"_WIN32"/U"_MSC_VER"等等。
但没有任何效果。问题在 Visual Studio 2013 中是相同的。
我该怎么办?
最佳答案
这些是编译器预定义的宏。你只能在代码中#undef
它们。可能使用自定义头文件。
无论如何,这个要求对我来说似乎很奇怪。如果要扫描 Linux 代码,为什么要使用 MSVC?如果 Linux 代码使用任何 GCC 扩展(它经常使用),它根本无法在 MSVC 下编译。
关于c++ - 如何取消定义 Visual Studio 2012 的系统定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756722/