Системные заголовочные файлы, переопределяющие макросы: как сказать gcc игнорировать? - PullRequest
2 голосов
/ 25 августа 2010

У меня есть некоторый код Motif, который также использует виджеты из набора виджетов Xmt.
Он включает в себя и "Xm / XmStrDefs.h", и "Xmt / ComboBox.h".
Однако есть некоторые макросы, которыеопределены в обоих файлах:

// XmStrDefs.h:
#define XmNarrowSize "arrowSize"

// ComboBox.h:
#define XmNarrowSize "arrowSize"

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

Как я могу сказать gcc, что эти заголовки являются системными заголовками?

В качестве альтернативы, как мне сказать gcc игнорировать переопределениеошибки?

В принципе, как я могу отключить это предупреждение, не меняя эти заголовки?

1 Ответ

4 голосов
/ 25 августа 2010

Как я могу сказать gcc, что эти заголовки являются системными заголовками?

Используйте переключатель -isystem. Подробнее см. http://gcc.gnu.org/onlinedocs/cpp/System-Headers.html.

gcc -isystem Xm -I <rest of the nonsystem includes> ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...