在项目开发中我们可能会遇到
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation) 这种问题。
- 分析:大致的意思就是可能在工程中引入了重复的东西
- 可能触发这个错误的四种情况:
- 1 在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多,在不知道的情况下又导入了一次相同的类
- 2 import "xxxx.h" 写成了 import "xxxx.m"
- 3 在两个文件中定义了相同的枚举,造成了deplicate的错误
- 4 在继承协议的时候,Build Settings ➡️ Other Linker Flags 中添加了 -ObjC