_fwrite$UNIX2003 解决办法

今天更新环信SDK时碰到这个样的一个问题code

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

查了网上N多知了(吐槽一下ziliao都不让发),咨询了各路大神终于找到了解决方法xml

虽然不是很懂为何但能解决问题,我就分享一下it

在AppDelegate.mm中添加class

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);
    }
}

以前报错的问题已经解决了
方法

相关文章
相关标签/搜索