2014-10-16 2 views
1

В моем проекте есть несколько исходных файлов, которые автоматически генерируются инструментом. К сожалению, эти источники заставляют GCC вызывать некоторые предупреждения, которые являются весьма неудобными. Есть ли способ сказать GCC игнорировать предупреждения для этих исходных файлов без изменения источников? Они не должны быть изменены, поскольку, как я уже сказал, они генерируются автоматически.Как сообщить GCC игнорировать предупреждения в некоторых исходных файлах?

Предупреждения в основном касаются несовместимых типов указателей и декларации неявных функций.

+0

Есть несколько опций, перечисленных в [ССАГПЗ документации] (https://gcc.gnu.org/onlinedocs /gcc/Warning-Options.html), которые будут подавлять определенные предупреждения. Это также будет зависеть от предупреждений. – Evert

+1

Было бы хорошо знать, что это за предупреждения; не все предупреждения имеют одну и ту же причину (и решение). – Evert

+1

Вы пытались исправить это с другого конца? то есть, может ли инструмент быть исправлен, чтобы испускать код без предупреждений? Игнорирование их не обязательно является хорошей идеей. –

ответ

2

Это возможно, если вы строите проект через make-файл. Вам просто нужно создать разные правила для этих файлов. Например, создав другой набор CFLAGS.

0

documentation приводит следующий пример, по-видимому, имеющие отношение к вашему делу:

Вы можете запросить множество специфических предупреждений с опциями, начиная с -W, например -Wimplicit запрашивать предупреждения о неявных деклараций. Каждый из этих специальных предупреждений также имеет отрицательную форму, начинающуюся -Wno-, чтобы отключить предупреждения; например, -Wno-implicit.

Вы также можете отключить предупреждения о несовместимых типов указателей, с:

-Wno-incompatible-pointer-types" 
Смежные вопросы