美文网首页程序员
ios-ld: 1 duplicate symbol for a

ios-ld: 1 duplicate symbol for a

作者: 简鱼7819 | 来源:发表于2018-09-06 18:20 被阅读11次

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

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

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

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

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

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

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

处理方法就不用说了。

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

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

-(void)test{

}

也有非常规的

void test(){

}

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

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

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

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

相关文章

网友评论

    本文标题:ios-ld: 1 duplicate symbol for a

    本文链接:https://www.haomeiwen.com/subject/pzzxgftx.html