我有一段时间没有碰过这个特定的应用程序,但是通过各种版本同时升级了Xcode,直到当前的6.3。试图在今天构建它并且构建失败,链接器命令失败,退出代码1错误...
重复符号_timer: /Users/johnbdh2/Library/Developer/Xcode/DerivedData/OrthoPro-cqfociuqwyhagkfczafenrdkthpw/Build/Intermediates/OrthoPro.build/Debug-iphoneos/OrthoPro.build/Objects-normal/armv7/OrthoViewController.o /Users/johnbdh2/Library/Developer/Xcode/DerivedData/OrthoPro-cqfociuqwyhagkfczafenrdkthpw/Build/Intermediates/OrthoPro.build/Debug-iphoneos/OrthoPro.build/Objects-normal/armv7/NewMechanicDialogViewController.o
重复符号_timer: /Users/johnbdh2/Library/Developer/Xcode/DerivedData/OrthoPro-cqfociuqwyhagkfczafenrdkthpw/Build/Intermediates/OrthoPro.build/Debug-iphoneos/OrthoPro.build/Objects-normal/armv7/OrthoViewController.o /Users/johnbdh2/Library/Developer/Xcode/DerivedData/OrthoPro-cqfociuqwyhagkfczafenrdkthpw/Build/Intermediates/OrthoPro.build/Debug-iphoneos/OrthoPro.build/Objects-normal/armv7/MechanicsViewController.o
ld:架构armv7的2个重复符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我在StackOverflow和其他地方都发现了很多关于链接器错误的引用,但到目前为止,没有人帮我弄清楚如何修复我的特定问题。
错误说我有两次重复符号_timer ,但在_timer的项目中执行查找时找不到任何内容。
我确实在所有提到的ViewControllers中声明并使用了NSTimer *定时器,但没有_timer。
任何帮助都会被贬低。
约翰
答案 0 :(得分:2)
方法名称由编译器添加了前导下划线前缀,因此链接器中的_timer
引用程序中的timer
。
此外,链接器消息显示它位于文件OrthoViewController.o和NewMechanicDialogViewController.o中,因此变量timer
在这两个文件中都包含相应的源文件* .m,并且可能位于文件级别。
timer
也在MechanicsViewController.o。
要么设置实例变量,要么在文件范围内有一些理由让它们static
。
如果您需要更多帮助,请添加声明变量timer
的代码。
看起来在MechanicsViewController.o和NewMechanicDialogViewController.o之间可能存在冲突,也许yu只需要你的程序中的其中一个。
最后,阅读错误消息并尝试理解它们以及它们如何应用于您的代码。
答案 1 :(得分:0)
我使用此代码创建了此错误。
protocol var somethingDelegate: class
{
var position: CGPoint { get set }
}
这是SKScene子类的协议。 SKScene已经在其超级类别中拥有一个位置属性。我删除了这段代码并修复了。因此问题可能是重复/冲突的属性。