いくつかのマクロを含むライブラリがあり、AIXで正常にコンパイルされますが、同じコードをコンパイルする必要があり、マクロが機能しなくなったようです。私はメッセージを受け取り続けます:
error: pasting "::" and "EVENT_DATA" does not give a valid preprocessing token.
LinuxのC++プリプロセッサをAIXのように動作させる方法はありますか?Linuxではg++を使用し、AIXではxlc_rを使用しています。
これがマクロの1つです。
#define E_TRA_INMOD(MName, Comp) \
static const ES_TracMg::ES_TracComps ES_TracComp = \
ES_TracMg::##Comp; \
static char* ES_Mod_Namp = MName; \
static unsigned long ES_SerMas = \
ES_TracMg::m_MServ[ES_TracMg##Comp];
私はそれを次のように呼びE_TRA_INMOD("Error", EVENT_DATA);
ますエラーは次のとおりです:
error: pasting "::" and "EVENT_DATA" does not give a valid preprocessing token.