duplicate symbols for architecture arm64 导入的类库字符重复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于duplicate symbols for architecture arm64 导入的类库字符重复的主要内容,如果未能解决你的问题,请参考以下文章
iOS开发之duplicate symbols for architecture x86_64错误
iOS之duplicate symbols for architecture x86_64错误
duplicate symbol for architecture x86_64
如何解决duplicate symbols for architecture x86_64编译错误