linker command failed with exit code 1 (use -v to see invocation)

关于这个错误做个简单的笔记:

1.可能是库引用出问题,看具体的提示。会显示什么找不到

2.重复引用,比如我这次遇到的:(紫色部分才是我们要关心的)

duplicate symbol _XMPPHelperLoginOrRegister in:

    /Users/wuwenhao/Library/Developer/Xcode/DerivedData/XMPP-giqpyyuvhqbwsshhmndjhkiffcqt/Build/Intermediates/XMPP.build/Debug-iphonesimulator/XMPP.build/Objects-normal/x86_64/WZLoginViewCotroller.o

    /Users/wuwenhao/Library/Developer/Xcode/DerivedData/XMPP-giqpyyuvhqbwsshhmndjhkiffcqt/Build/Intermediates/XMPP.build/Debug-iphonesimulator/XMPP.build/Objects-normal/x86_64/AppDelegate.o

duplicate symbol _XMPPHelperLoginOrRegister in:

    /Users/wuwenhao/Library/Developer/Xcode/DerivedData/XMPP-giqpyyuvhqbwsshhmndjhkiffcqt/Build/Intermediates/XMPP.build/Debug-iphonesimulator/XMPP.build/Objects-normal/x86_64/WZLoginViewCotroller.o

    /Users/wuwenhao/Library/Developer/Xcode/DerivedData/XMPP-giqpyyuvhqbwsshhmndjhkiffcqt/Build/Intermediates/XMPP.build/Debug-iphonesimulator/XMPP.build/Objects-normal/x86_64/XMPPHelper.o

ld: 2 duplicate symbols for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

看上面的提示,就是重复了。那就去看看XMPPHelperLoginOrRegister这个类型。去工程里面搜索一下,看在哪里重复引用了,结果我只发现在XMPPHelper里面声明和调用了一个枚举,但是其它类引用了XMPPHelper这个类。再看看我的枚举声明:

NS_ENUM(NSInteger , XMPPHelperLoginOrRegister) {

    XMPPHelperLogin = 0,

    XMPPHelperRegister,

};

问题来了,这个枚举并没有声明为一个类型,所以造成了引用问题。改成

typdef  NS_ENUM(NSInteger , XMPPHelperLoginOrRegister) {

    XMPPHelperLogin = 0,

    XMPPHelperRegister,

};就好了。

3.在网上有朋友说删除单元测试就可以了,这种情况我没遇到过,不过也可以做个备份。怎么删除单元测试:删除单元测试

4.还有网友说可能是Unity 5.1和Xcode的Build设定问题,这个我也没有遇到过,也做个备份:链接


不过具体的原因还是多看看错误提示,别看那个提示很长,但是大部分是文件的路径很长。所以简化一下也是很简单的。

小技巧:Xcode右下角那个{}图标的功能很好,值得关心。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值