macros: not a valid preprocessing token
windows上的宏定义正确,gcc编译报错。
如
#define REGISTER_JOB_PROC(X) g_PacketMgr.Register(##X,CServerFunction::_Proc_##X)
但是linux上make报错。
解决如下:
#define REGISTER_JOB_PROC(X) g_PacketMgr.Register(X,CServerFunction::_Proc_##X)
正确。原因看上面的连接。不使用连接符号,直接使用数值。