Мы находимся в процессе исправления нашей кодовой базы путем (среди прочего) исправления всех предупреждений компилятора.
Конечная цель - включить флаг, который преобразует все предупреждения в ошибки. Мы столкнулись с небольшим затруднением с системными и сторонними заголовками. Некоторые системные заголовки заставляют различные компиляторы выдавать предупреждения. Теперь очевидно, что мы не можем модифицировать системные заголовки, чтобы исправить эти предупреждения.
С компилятором intel (и gcc) вы просто используете -isystem вместо -I при создании пути включения, чтобы сообщить компиляторам, что заголовки в этих каталогах являются системными заголовками, и он перестает предупреждать о них. Тогда нужно просто включить флаг -Werror.
Мы также используем Sun Studio 12, флаг -errwarn =% all должен быть эквивалентен -Werror, но я не могу найти способ сказать компилятору игнорировать предупреждения в заголовках системы / третьего лица. Есть флаг -errhdr, но, похоже, он не делает то, что я хочу.
Кто-нибудь знает, как этого добиться с помощью Sun Studio 12?