duplicate symbols for architecture arm64 导入的类库字符重复

这个错误大部分时候是引用库重复定义的问题。

 项目需要,同时引用ZBar和QQ授权登录SDK,由于二者均使用了Base64处理数据,XCode编译时报错:

duplicate symbol _base64_encode in:

...\libzbar.a(symbol.o)

...\TencentOpenAPI(base64.o)

 

意思就是在这两个库中都定义了_base64_encode,编译器认为你重复定义了。至于为什么编译器认为重复定义,个人认为编译器编译全局变量时会根据名字进行编译,会把相同名称的全局变量编译为相同变量,也就是多个编译成一个,而编译器认为这样可能会引起错误,就提醒用户这里有错。

 

解决方案:

    参考了:http://blog.sina.com.cn/s/blog_4beb28f301012bl6.html

删掉了 set building->other linker flag-> -all_load

posted @ 2017-10-10 17:35  Allence  阅读(378)  评论(0编辑  收藏  举报