错误-duplicate symbols for architecture i386
duplicate symbol _main in:
/Users/mac/Library/Developer/Xcode/DerivedData/ItcastWeibo-ejradctorpweaxgnoyvyothlpxbj/Build/Intermediates/ItcastWeibo.build/Debug-iphonesimulator/ItcastWeibo.build/Objects-normal/i386/main-BCA160EE79D38D53.o
/Users/mac/Library/Developer/Xcode/DerivedData/ItcastWeibo-ejradctorpweaxgnoyvyothlpxbj/Build/Intermediates/ItcastWeibo.build/Debug-iphonesimulator/ItcastWeibo.build/Objects-normal/i386/main-F335E396EB42357.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
在编译程序时,出现了上面的错误,ld: 1 duplicate symbol for architecture i386,看了下错误信息,没有明确提出错误原因,不过从字面意思分析理解,好像是重复冲突了,后来查找原因,原来是在引入第三方框架时,第三方的框架代码中有main入口方法,一个项目中不可能有两个main入口吧。好郁闷啊,折腾了好久终于发现这个低级的错误,删除第三方框架中那一个main.m文件,ok了。
还有一种,Undefined symbols for architecture i386:
说明缺少某种框架,或者类。
根据提示进行添加某些框架或者类。
这两种情况一般在多个人进行开发,或者多个项目进行整合、复用代码拷贝的时候,往往出现这种问题。
来源:oschina
链接:https://my.oschina.net/u/2557944/blog/656392