2014-11-06 2 views
2

Я хотел бы, чтобы cl.exe сообщал о предупреждении в случае, если неопределенный макрос встречается в выражении препроцессора, компилирующем источник c/C++. Как g ++ -Wundef. Это доступно? Прохождение списка всех предупреждений компилятора на http://msdn.microsoft.com/en-us/library/cfahxw6k.aspx не является вариантом.Что такое MSVC, эквивалентный gcc -Wundef?

+1

Найдено - C4668. –

ответ

2

Вариант компилятора MSVC /wd4668 (для отключения предупреждения «C4668») должен быть эквивалентен -Wundef, в соответствии с документацией по адресу http://msdn.microsoft.com/en-us/library/4dt9kyhy.aspx. [На основании комментария к исходному вопросу.]

К сожалению, это предупреждение непригодно, поскольку оно вызывает много предупреждений в файлах системных заголовков. В отличие от GCC/Clang, MSVC, похоже, не имеет возможности игнорировать предупреждения в файлах системных заголовков.

+0

Предупреждение не совпадает с параметром компилятора. Чтобы ответить на этот вопрос, вы должны указать параметр командной строки, который позволяет это конкретное предупреждение. (Номер предупреждения был подходящим в качестве комментария, это не полный ответ) –

+0

Исправлено упоминанием '/ wd4668', хотя я его не тестировал. –

 Смежные вопросы

  • Нет связанных вопросов^_^