重新定义宏的系统头文件:如何告诉gcc忽略?

时间:2010-08-25 14:25:10

标签: c++ gcc header warnings

我有一些Motif代码也使用Xmt小部件集中的小部件 它包括“Xm / XmStrDefs.h”和“Xmt / ComboBox.h” 但是,在两个文件中都定义了一些宏:

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

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

这些是我不允许更改的系统头文件。我听说gcc能够忽略系统头中的警告。

如何告诉gcc这些标头是系统标头?

或者,我如何告诉gcc忽略重新定义错误?

基本上,如何在不更改这些标题的情况下抑制此警告?

1 个答案:

答案 0 :(得分:4)

  

如何告诉gcc这些标头是系统标头?

使用-isystem开关。有关详细信息,请参阅http://gcc.gnu.org/onlinedocs/cpp/System-Headers.html

gcc -isystem Xm -I <rest of the nonsystem includes> ...