Есть ли какой-либо способ, которым я могу сделать g ++, только испускают предупреждения, имеющие отношение к моим файлам?

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

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

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

6
задан Alex 8 July 2010 в 16:35
поделиться

4 ответа

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

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

#pragma GCC system_header
8
ответ дан 8 December 2019 в 14:39
поделиться

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

7
ответ дан 8 December 2019 в 14:39
поделиться

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

1
ответ дан 8 December 2019 в 14:39
поделиться

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

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

0
ответ дан 8 December 2019 в 14:39
поделиться