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

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

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

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

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


person Amomum    schedule 30.08.2013    source источник
comment
Если бы у вас был один хорошо названный и отделенный дополнительный пустой исходный файл, включая сторонний, я бы назвал это уловкой, а не очень грязной уловкой. Дело вкуса, конечно :-) Я согласен, что более "стандартное" решение весьма предпочтительно.   -  person meaning-matters    schedule 30.08.2013
comment
Этот трюк также будет немного неудобен для Eclipse, потому что eclipse по умолчанию включает все файлы в папке проекта в процессе сборки. Таким образом, эти сторонние источники будут собраны дважды - один как сами по себе, а другой как включенный. Конечно, их можно вручную исключить из встроенных, но это уже другая боль.   -  person Amomum    schedule 30.08.2013


Ответы (2)


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

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

Пример:

gcc -w third_party_sourcefile.c 
person Gangadhar    schedule 30.08.2013
comment
Это хороший способ, но я не уверен, что он подойдет для Eclipse, поскольку он генерирует make-файлы. - person Amomum; 30.08.2013
comment
@Amomum, извините, я не знаком с Eclipse. кто-то обязательно даст вам полезную информацию о Eclipse. - person Gangadhar; 30.08.2013

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

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

person Gregory Pakosz    schedule 30.08.2013
comment
Заголовки исключены. Кроме того, я не уверен, как я могу сделать это с Eclipse (поскольку я использую его интерфейс для указания каталогов включения). - person Amomum; 30.08.2013