Я бы хотел, чтобы cl.exe сообщал о предупреждении в случае, если неопределенный макрос встречается в выражении препроцессора, компилирующем исходный код c/c++. Как g++-Wundef. Это доступно? Просмотр списка всех предупреждений компилятора по адресу http://msdn.microsoft.com/en-us/library/cfahxw6k.aspx не подходит.
Что такое MSVC, эквивалентный gcc -Wundef?
Ответы (1)
Параметр компилятора MSVC /wd4668
(для отключения предупреждения «C4668») должен быть эквивалентен -Wundef
, согласно документации по адресу http://msdn.microsoft.com/en-us/library/4dt9kyhy.aspx. [На основе комментария к исходному вопросу.]
К сожалению, это предупреждение непригодно для использования, поскольку оно выдает множество предупреждений в системных заголовочных файлах. В отличие от GCC/Clang, MSVC не имеет возможности игнорировать предупреждения в системных заголовочных файлах.
person
Mark Seaborn
schedule
16.12.2014
Предупреждение — это не то же самое, что параметр компилятора. Чтобы сделать это ответом, вы должны указать параметр командной строки, который включает это конкретное предупреждение. (Номер предупреждения был уместным в качестве комментария, это не полный ответ)
- person Ben Voigt; 16.12.2014
Исправлено упоминанием
/wd4668
, хотя я не проверял.
- person Mark Seaborn; 04.01.2015