Как я могу отменить определения системы в Visual Studio 2012?

Я использую Visual Studio 2012 для редактирования исходного кода, ориентированного на Linux. Проблема в том, что подсветка синтаксиса делает все неправильно, потому что она думает, что _WIN32, _MSC_VER и подобные макросы определены. Что я могу сделать, чтобы избавиться от них?

Я попробовал два метода:

  1. добавлена ​​команда / u на странице свойств для C ++;
  2. добавлено / U «_WIN32» / U «_MSC_VER» и так далее.

но без какого-либо эффекта. Проблема та же в Visual Studio 2013.

Что я должен делать?

1

Решение

Это предопределенные компилятором макросы. Ты можешь только #undef их в коде. Используйте пользовательский заголовочный файл, вероятно.

Во всяком случае, требование кажется странным для меня. Почему вы используете MSVC, если вы хотите сканировать Linux код? Если код Linux использует какие-либо расширения GCC (как это часто бывает), он вообще не может компилироваться под MSVC.

2

Другие решения

Вы можете редактировать их в конфигурации вашего проекта.

Щелкните правой кнопкой мыши проект-> свойства-> C / C ++ -> препроцессор-> определения препроцессора.

0

Я создаю тестовый проект. Определения влияют только когда код компилируется.

0
По вопросам рекламы [email protected]