Этот вопрос уже имеет ответ здесь:
В проекте программного обеспечения я продолжаю работать, мы пользуемся определенными сторонними библиотеками, которые, к сожалению, произведите раздражающие gcc предупреждения. Мы стремимся убрать весь код предупреждений и хотеть включить treat-warnings-as-errors (-Werror) флаг в GCC. Существует ли способ сделать их, третья сторона генерировала предупреждения, которые мы не можем зафиксировать, для исчезновения?
Я предполагаю, что вы говорите о предупреждениях, исходящих от заголовков сторонних библиотек.
Специфическим решением для GCC будет создание другого заголовочного файла-обёртки, содержащего, по сути, две строки:
#pragma GCC system_header
#include "real_3rd_party_header.h"
И использование этой обёртки вместо оригинального стороннего заголовка.
Проверьте другой ответ SO, в котором подробно описана прагма. По сути, она говорит GCC, что этот (с рекурсивно включенными файлами) является системным заголовком, и никаких предупреждающих сообщений выдаваться не должно.
Иначе я не знаю, как можно отключить предупреждения, исходящие от стороннего кода. Кроме, конечно, грубой силы: в системе сборки настроить файлы для сборки с отключенными предупреждениями.
http://www.artima.com/cppsource/codestandards.html
Пример 1. Сторонний файл заголовка. Заголовочный файл библиотеки, который вы не можете изменение может содержать конструкцию, которая вызывает (вероятно, доброкачественные) предупреждения.Затем оберните файл своим версия, которая # включает оригинал заголовок и выборочно отключает шумные предупреждения только для этой области, а затем # включить вашу оболочку на протяжении всей остальной части вашего проекта.