ios-ld: 1 duplicate symbol for architecture arm64报错处理

这个bug只要开发一段时间的ios开发差不多都遇到过。现在归纳整理一下处理方法以供参考。

分析错误:duplicate symbol这个两个单词是关键,duplicate是重复重叠的意思,symbol是符号的意思。那么这个编译bug就有着眼点了,就是在工程中引入重复的东东。

一、第一种情况,也是常常遇见的

重复导入静态库,或者其他文件

处理方法很简单,那个文件.o报错,直接搜那个文件,多的删除

二、第二种情况,遇见不多但是也存在(存在即合理,那就是马虎)

在#import时引入的是.m不是.h;

处理方法就不用说了。

三、第三种情况,就是这次我遇到一个问题

OC中创建一个函数的有正规常用的

-(void)test{

}

也有非常规的

void test(){

}

第二种这样式的定义函数,基本上是全工程唯一的,也就是说如果在其他文件中也定义这么一个函数,那么不好意思,肯定会报出上面报错。

遇到这种情况,有这种函数或者static修饰的属性等等符号重复报错

处理方法:[编译报错会将两个或者多个冲突的文件列出来]给其中相同符号整成不一样就可以。


日常积累,希望能帮助到你!!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容