Как подавлять предупреждения в сторонних исходных файлах?

Я знаком с предупреждением, подавляющим прагмы для GCC и Keil (они разные, но использование почти одинаково). Для сторонних заголовков я могу сделать что-то вроде этого:

#pragma push
#pragma suppress warning
#include "whatever.h"
#pragma pop

Но как я могу подавить предупреждения от сторонних источников? Оба Eclipse + GCC и Keil генерируют их. Единственное решение, которое я придумал, - сделать whapper.c файл, который будет включать другие .c файлы, что кажется очень грязным трюком.

Есть ли другие решения?

Ответ 1

с gcc, при компиляции вы можете использовать опцию -w для подавления предупреждений.

-w: Запретить все предупреждающие сообщения.

Пример:

gcc -w third_party_sourcefile.c 

Ответ 2

Возможно, вы захотите использовать -isystem вместо -Idir сторонних заголовков. См. Руководство GCC.

Если вы можете редактировать исходные файлы сторонних разработчиков, вы можете использовать #pragma GCC diagnostic ignored "-Wwarning-to-disable" см. Руководство GCC.