最近做的项目导入环信平台在编译时报下面的错误
Undefined symbols for architecture i386:
"_fwrite$UNIX2003", referenced from:
_hex_dump_internal in libEaseMobClientSDK.a(dump.o)
_pkt_dump_internal in libEaseMobClientSDK.a(dump.o)
ld: symbol(s) not found for architecture i386
查了一下是OC和C冲突的问题
解决办法:
AppDelegate.m改为AppDelegate.mm
再AppDelegate.mm在加上如下代码
extern"C"{
size_t fwrite$UNIX2003( const void *a, size_t b, size_t c, FILE *d )
{
return fwrite(a, b, c, d);
}
char* strerror$UNIX2003( int errnum )
{
return strerror(errnum);
}
}