Что такое MSVC, эквивалентный gcc -Wundef?

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


person Alexey Semenyuk    schedule 06.11.2014    source источник


Ответы (1)


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

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

person Mark Seaborn    schedule 16.12.2014
comment
Предупреждение — это не то же самое, что параметр компилятора. Чтобы сделать это ответом, вы должны указать параметр командной строки, который включает это конкретное предупреждение. (Номер предупреждения был уместным в качестве комментария, это не полный ответ) - person Ben Voigt; 16.12.2014
comment
Исправлено упоминанием /wd4668, хотя я не проверял. - person Mark Seaborn; 04.01.2015