芒果iOS开发之duplicate symbols for architecture x86_64错误
【主要内容:】
1. 错误提示
2.分析错误原因
3. 解决问题办法
一、错误提示
在我们写代码过程中可能会经常遇到这样一个错误:
<span style="font-size:32px;color:#ff0000;">ld: 4 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)</span>
如图:
二、分析错误原因
仔细读一下报错原因可以发现几个关键词:"duplicate"和"symbols"。
duplicate的中文意思是“重复的、复制的”,而symbols的意思是“符号”。也就是可能在你工程中引入了重复的东西。
三、解决问题办法
我总结了一下,出现duplicate出这个错误一般有三种情况:
3.1 重复导入相同的文件
第一种情况:在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多,在不知道的情况下又导入了一次相同的类。
下图中我在工程中新建了一个src的文件夹,把Person类又复制了一遍又添加到工程中去,如图:
这个时候command + B编译之后出现如下错误:
可以看出来报的还是duplicate的错误,虽然duplicate前边的数字可能不太准确,可是只要你看到duplicate这个关键字就可以去你工程中查找是不是有重复的东西被导入。
3.2 #import "XXX.h" 写成了#import "XXX.m"
第二种情况:工程中在#import引入头文件的时候,将#import "XXX.h" 写成了#import "XXX.m"。错误的引入.m头文件
我工程中有一个Person的类,然后我想在main函数中初始化一个对象,这个时候需要先引入Person类的.h文件。这个时候我引入了.m文件,如图:
command + B 编译之后发现错误,如图:
你会发现还是duplicate这个错误。
3.3 在多个文件中重复定义某个东西
这个是由网友提供,错误原因如下:在两个文件中定义了相同的枚举,造成了deplicate的错误。
目前我只发现这三种操作会带来这个问题,其他的如果还会带来这个问题,欢迎大家提出来,帮我不断完善博客。
芒果iOS开发之duplicate symbols for architecture x86_64错误相关推荐
- 15、iOS开发之duplicate symbols for architecture x86_64错误
1. 错误提示 2. 分析错误原因 3. 解决问题办法 一.错误提示 在我们写代码过程中可能会经常遇到这样一个错误: [objc] view plaincopy print? <span sty ...
- error===ld: 2 duplicate symbols for architecture x86_64
一,经历 1> 出现了以下错误,感觉像是GiftAnimationView文件的问题 /Users/liuzhu/Library/Developer/Xcode/DerivedData/test ...
- clion在使用sqlite3的时候,显示Undefined symbols for architecture x86_64错误的解决办法
显示Undefined symbols for architecture x86_64错误的原因 1.缺少静态库 环境:在模拟器上报错但在真机上能运行成功,而且报的错误来自于第三方库. 原因:arch ...
- iOS ld:2 duplicate symbols for architecture arm64 clang:error:linker commang failed with exit ...
当我们运行程序 .修改代码.或者添加第三方或者SDK的时候经常会出现下面的问题 ld:2 duplicate symbols for architecture arm64 clang:error:li ...
- iOS开发-编译出错 duplicate symbols for architecture x86_64
今天对原来项目文件进行重新整理,根据文件内容进行分类,结果复制粘贴时没注意把一个文件复制了两遍 编译的时候就出现Duplicate Symbol Error 在网上搜素了一圈发现也有人遇到过这个问题, ...
- 芒果iOS开发之NSComparisonResult比较结果
在学习NSString的时候,可能会经常遇到比较两个字符串的大小,系统已经提供了字符串比较的函数: [objc] view plain copy print ? <span style=&qu ...
- 芒果iOS开发之AFNetworking3.0.4使用指南
前几天发现iOS9.xcode7之后NSURLConnection的API被弃用了,取而代之的是NSURLSession,看到这我首先想到了AFNetworking,因为工程的所有网络请求都是基于AF ...
- 芒果iOS开发之Swift教程05-Swift字符串和字符
[主要内容] 1. 字符串字面量 2. 初始化空字符串 3. 字符串可变性4. 字符串是值类型 5. 使用字符 6. 连接字符串和字符 7. 字符串差值 8. Unicode 9. 计算字符数量 10 ...
- ios添加设备真机测试,以及Undefined symbols for architecture x86_64:''错误
问题今天坑了好久,然后找了各种资料 添加设备这个直接去开发者中心添加一个设备进去就好,具体流程百度,第二个问题是属于路径不对或者是静态库没有添加成功,项目可以看到,到时路径找不到,你把静态库拖到桌面之 ...
最新文章
- pacman安装php的位置,PacMan 01——地图的搭建
- World Final 2012
- codeforces 528D. Fuzzy Search 快速傅里叶变换
- Android代码片段:设备信息
- [XSS神器]XssEncode chrome插件 - 0x_Jin
- 按钮自动居中布局_CSS布局技巧
- A + B Problem II 大数加法
- Mysql学习总结(49)——从开发规范、选型、拆分到减压
- [HEOI2016/TJOI2016]求和(第二类斯特林数)
- Windows批处理命令学习笔记(1)
- ios ffmpeg h264 encode
- 手机连无线显示服务器超时,手机wifi为什么会连接超时
- overleaf表格_latex编写表格.doc
- git commit之后,回退撤销commit
- axure中图表背影_Axure制作可视化图表的几种方法
- C# Winform画图
- iphone mac平台下破解微信的语音
- 大数据学习路线及全套视频教程
- java 批量执行 sql_JDBC批量执行SQL
- HTML5期末大作业:动漫网站设计——斗破苍穹动漫(6页) HTML+CSS+JavaScript 学生动漫网页设计模板下载 斗破大学生HTML网页制作作品 简单漫画网页设计成品 dreamweav