2014-01-27 4 views
0

Я использую boost для проекта, над которым я работаю. Некоторые из моих файлов включают в себя один или несколько заголовков boost, которые, в свою очередь, включают в себя другие заголовки boost, которые в одном из них есть переменная, которая установлена, но не используется. Это печатает уродливое предупреждение на моем экране, что затрудняет чтение вывода, особенно когда у меня есть реальная ошибка компиляции, но мне нужно внимательно посмотреть на выходе, чтобы отличить, какой текст принадлежит установленному, но не использованному предупреждению и который связан с я хочу решить реальную ошибку компиляции.Как игнорировать предупреждения от сторонних пакетов?

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

Есть ли опция для gcc для подавления определенных предупреждений в определенном месте в коде?

+0

Возможные дубликаты: http://stackoverflow.com/questions/3378560/how-to-disable-gcc-warnings-for-a-few-lines-of-code, http://stackoverflow.com/questions/ 1079997/disable-specific-warnings-in-gcc, http://stackoverflow.com/questions/965093/selectively-disable-gcc-warnings-for-only-part-of-a-translation-unit – JBentley

+1

, если вы скомпилируете gcc затем использовать -систему – Ezra

+0

@ezra Это не совсем то, что он задает - он хочет иметь возможность отключать предупреждения для определенного файла ** и ** в определенной точке включения его кода. -система отключит предупреждения для определенного файла во всех точках включения. – JBentley

ответ

1

gcc предлагает диагностические прагмы. См. http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html.

Используйте их в своем коде до и после #include этих сторонних заголовков. Не изменяйте те сторонний код в соответствии с вашими флагами компиляции.

+0

Звучит неплохо, я дам ему попробовать и принять ваш ответ, если он работает. Жаль, хотя мне нужно изменить код, я надеялся найти вариант для 'gcc', но я думаю, что этот параметр не существует, так как ему нужно много параметров. – e271p314

Смежные вопросы