Можно ли как-то заставить g ++ выдавать только предупреждения, относящиеся к моим файлам? - PullRequest
6 голосов
/ 08 июля 2010

Мне нравится компилировать мой код с -Wall, а иногда даже -pedantic. Это отчасти стиль, а отчасти тот факт, что он иногда выдает очень и очень полезные предупреждения (например, использование = вместо ==).

Однако авторы некоторых из моих заголовков явно не такие сторонники. Компиляция с любым из двух уровней предупреждений приводит к огромному беспорядку вывода, полностью отказываясь от цели компиляции в первую очередь.

Так как я могу заставить мой компилятор игнорировать эти предупреждения?

Ответы [ 4 ]

8 голосов
/ 08 июля 2010

В качестве альтернативы ответу JS Bangs , вы можете заставить GCC рассматривать их как системные заголовки , что отключает все предупреждения (за исключением директив #warning) дляэти заголовки.

Если переключатель -isystem бесполезен, вы можете заключить все заголовки-нарушители в более простые заголовки, содержащие только соответствующую строку:

#pragma GCC system_header
7 голосов
/ 08 июля 2010

При вызове GCC, использование -isystem вместо -I для указания путей к вашим проблемным заголовкам должно привести к отключению предупреждений для этих заголовков. См. GCC документы или этот вопрос SO .

1 голос
/ 08 июля 2010

Используйте соответствующий #pragma, чтобы отключить предупреждения перед включением неверных заголовков, а затем снова включите предупреждения. Документы по прагмам GCC.

0 голосов
/ 08 июля 2010

Кажется, что они "ваши" заголовки, то есть вы можете изменить их самостоятельно или позволить "авторам" сделать это за вас.Если вы хотите проводить жизнь без предупреждения, исправьте эти заголовки:).

В качестве альтернативы вы можете, конечно, использовать прагмы, но они не в стиле и безобразны:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...