关于duplicate symbols for architecture x86_64错误

在项目开发中我们可能会遇到
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation) 这种问题。

  • 分析:大致的意思就是可能在工程中引入了重复的东西
  • 可能触发这个错误的四种情况:
  • 1 在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多,在不知道的情况下又导入了一次相同的类
关于duplicate symbols for architecture x86_64错误_第1张图片
1.png
  • 2 import "xxxx.h" 写成了 import "xxxx.m"
关于duplicate symbols for architecture x86_64错误_第2张图片
2.png
  • 3 在两个文件中定义了相同的枚举,造成了deplicate的错误
关于duplicate symbols for architecture x86_64错误_第3张图片
3.png
  • 4 在继承协议的时候,Build Settings ➡️ Other Linker Flags 中添加了 -ObjC
关于duplicate symbols for architecture x86_64错误_第4张图片
4.png

你可能感兴趣的:(关于duplicate symbols for architecture x86_64错误)