Я сделал нечто подобное. Для стороннего кода я вообще не хотел видеть никаких предупреждений. Поэтому вместо указания -I/path/to/libfoo/include
я использовал -isystem /path/to/libfoo/include
. Это заставляет компилятор обрабатывать эти заголовочные файлы как «системные заголовки» с целью предупреждений, и пока вы не включаете -Wsystem-headers
, вы в основном в безопасности. Я все еще видел несколько предупреждений, но это сокращает большую часть мусора.
Обратите внимание, что этот only поможет вам, если вы можете изолировать код, вызывающий сбой, с помощью include-directory. Если это просто часть вашего собственного проекта или смешанный с другим кодом, вам не повезло.