在尝试编译我的项目时,我收到此错误,并且想知道是否有人知道如何修复它?
我已经阅读了有关此类链接器错误的SO和其他地方的每个答案。我已经尝试了很多解决方案,包括在xcode中非常流行的--delete派生数据,完全退出xcode,在命令行上再次删除它然后重新启动xcode--仍然没有。这是在我尝试将设备连接到我的计算机(我已经从组织者中删除)之后开始的,这是一个朋友试图在他的iPad上运行它。我在我的智慧结束,不能再浪费时间了。关于如何修复它的任何想法?
Products文件夹中的应用程序文件为红色。
编辑:更多信息:实际应用程序尚未构建并放入Library / Developer / {app} / Build / Product文件夹中。我尝试重新连接设备并从Apple网站手动添加配置文件,然后尝试Build->在选择设备时存档应用程序。我仍然得到错误。我已经尝试在Schemes中从debug更改为release并完成所有这些,我仍然得到错误。我尝试卸载xcode并重新安装它,完全从计算机上删除应用程序(包括派生数据)从Git拉回来,我得到了同样的错误。
Ld /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/UnitTests.octest/UnitTests normal i386 cd / Users / mischabuckler / Desktop / Git / TRx setenv IPHONEOS_DEPLOYMENT_TARGET 6.1 setenv PATH“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/ usr / sbin目录:/ sbin目录” /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/ iPhoneSimulator6.1.sdk -L / Users / mischabuckler / Library / Developer / Xcode / DerivedData / TRx-clxlusutxvcrlkddtqwtoxibcmhc / Build / Products / Debug-iphonesimulator -F / Users / mischabuckler / Library / Developer / Xcode / DerivedData / TRx-clxlusutxvcrlkddtqwtoxibcmhc / Build / Products / Debug-iphonesimulator -F / Applications / Xcode.app / Contents / Developer / Platforms / iPhoneSimulator.platform / Developer / SDKs / iPhoneSimulator6.1.sdk / Developer / Library / Frameworks -F / Applications / Xcode.app / Contents / Developer / Library / Frameworks -filelist /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Intermediates/TRx.build/Debug-iphonesimulator/UnitTests.build/Objects-normal/i386/UnitTests。 LinkFileList -bundle_loader / Users / mischabuckler / Library / Developer / Xcode / DerivedData / TRx-clxlus utxvcrlkddtqwtoxibcmhc / Build / Products / Debug-iphonesimulator / TRx.app / TRx -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min = 6.1 -framework SenTestingKit - 框架UIKit -framework Foundation -o /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/UnitTests.octest/UnitTests
ld:找不到文件:/Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/TRx.app/TRx clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
答案 0 :(得分:26)
重命名主目标时会发生这种情况,并且测试目标尚未更新。检查测试目标中的构建设置,并确保路径指向新文件夹。例如,如果您将目标SuperAwesome重命名为Super,那么当测试目标应该更新为Super.app /
时,您的测试目标需要SuperAwesome.app /文件夹中的文件。答案 1 :(得分:6)
好的,线索虽然很难发现,但上面发布的消息并不是构建你的应用程序,而是你的单元测试。它还在输出窗口的顶部提到它,但是人们并不期望它会改变。
您可能已经重命名了您的方案,并且在这样做时,单元测试指向您的真实构建或其他内容。您的应用程序实际上可能已经构建正常,但它的单元测试目标失败。
如果问题是您已经在UnitTest方案中重命名目标,请转到构建设置并搜索TEST,这将显示TEST HOST的设置。确保这些值指向您希望调用测试应用程序的任何内容,而不是主要可执行文件。
对我而言,这只是一个附加"测试"调试和调试释放我的测试目标的设置TEST_HOST。
现在这一切都为我构建,虽然令人讨厌的是它实际上构建了两个目标 - 至少它们都是编译的。
答案 2 :(得分:4)
因此,对于其他任何发现这一点而且感到沮丧的人,我最终要做的就是删除我的应用程序和单元测试的目标依赖项,然后构建应用程序一次,然后重新添加它们并再次构建应用程序,它工作得很好。
答案 3 :(得分:4)
尝试复制目标,然后使用目标副本运行。
答案 4 :(得分:2)
答案 5 :(得分:1)
转到项目 - >构建设置 - >测试 - >测试主机 删除测试主机中的所有路径,并进行干净的构建。
答案 6 :(得分:0)