链接器命令失败,退出代码 1 xcode 6.4
linker command failed with exit code 1 xcode 6.4
我将我同事的 macbook xcode 更新到 6.4,并从我们的 subversion 存储库中检查了一个项目。清理并构建它,但会出现一条错误消息,指出 "ld: file not found..." 后跟 "clang: error: linker command failed with exit code 1 (use -v to see invocation)"。这些消息被归类为 "Apple Mach-O Linker Error"。这些错误不会发生在我用来开发这个项目的 macbook 上。
找到了一些其他人尝试过但对我不起作用的解决方案。
这是我的设置:
- 基础 SDK:最新 iOS(iOS 8.4)
- 构建设置 > 架构 > 仅构建活动架构 > 调试 > 是。只有Debug是Yes.
- 构建设置 > 架构 > 有效架构 > arm64 arm7 armv7s
- 部署信息 > 部署目标 > 8.2
- 我正在使用 Photos.framework 和 MobileCoreServices.framework
我怀疑我同事的 MacBook 上缺少某些库或文件,但无法确定。有办法找到这个吗?我也愿意尝试其他解决方案。
我发现问题出在我从颠覆中检出的项目上。在拥有我的项目的同一台计算机上,如果我要从颠覆中检出,它不会 运行 并且与我同事的笔记本电脑有相同的错误消息。
这是我所做的:
- 导航到 DerivedData 文件夹并将其全部删除。清理并生成解决方案。
整个报错信息如下:
Ld /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProjTests.xctest/MyProjTests normal x86_64
cd /Users/XXX/xxxmios/MyProj
export IPHONEOS_DEPLOYMENT_TARGET=8.2
export 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 x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk -L/Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator -F/Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/Developer/Library/Frameworks -filelist /Users/NIE/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Intermediates/MyProj.build/Debug-iphonesimulator/MyProjTests.build/Objects-normal/x86_64/MyProjTests.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -bundle_loader /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProj.app/MyProj -Xlinker -objc_abi_version -Xlinker 2 -framework XCTest -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -Xlinker -add_ast_path -Xlinker /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Intermediates/MyProj.build/Debug-iphonesimulator/MyProjTests.build/Objects-normal/x86_64/MyProjTests.swiftmodule -mios-simulator-version-min=8.2 -Xlinker -dependency_info -Xlinker /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Intermediates/MyProj.build/Debug-iphonesimulator/MyProjTests.build/Objects-normal/x86_64/MyProjTests_dependency_info.dat -o /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProjTests.xctest/MyProjTests
ld: file not found: /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProj.app/MyProj
clang: error: linker command failed with exit code 1 (use -v to see invocation)
按 cmd+shift+k 清理您的 xcode 项目。然后重建您的项目。
您的构建设置应该是
Architectures > Valid Architectures > arm64 armv7 armv7s
和select 架构部分中的标准架构。
并检查您是否错过了有用的框架。
从另一个问题here找到解决方案。
我使用@Chepe77 的回答来解决我的问题。我将在此处复制并粘贴@Chepe77 的回答。
- Select 您在项目导航器中的项目。
- Select 目标下的 YourProjectTests
- 在常规选项卡下,从下拉列表中更改主机应用程序
- 构建并运行.
您的架构应该更改为 arm7 -> armv7。
我将我同事的 macbook xcode 更新到 6.4,并从我们的 subversion 存储库中检查了一个项目。清理并构建它,但会出现一条错误消息,指出 "ld: file not found..." 后跟 "clang: error: linker command failed with exit code 1 (use -v to see invocation)"。这些消息被归类为 "Apple Mach-O Linker Error"。这些错误不会发生在我用来开发这个项目的 macbook 上。
找到了一些其他人尝试过但对我不起作用的解决方案。 这是我的设置:
- 基础 SDK:最新 iOS(iOS 8.4)
- 构建设置 > 架构 > 仅构建活动架构 > 调试 > 是。只有Debug是Yes.
- 构建设置 > 架构 > 有效架构 > arm64 arm7 armv7s
- 部署信息 > 部署目标 > 8.2
- 我正在使用 Photos.framework 和 MobileCoreServices.framework
我怀疑我同事的 MacBook 上缺少某些库或文件,但无法确定。有办法找到这个吗?我也愿意尝试其他解决方案。
我发现问题出在我从颠覆中检出的项目上。在拥有我的项目的同一台计算机上,如果我要从颠覆中检出,它不会 运行 并且与我同事的笔记本电脑有相同的错误消息。
这是我所做的:
- 导航到 DerivedData 文件夹并将其全部删除。清理并生成解决方案。
整个报错信息如下:
Ld /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProjTests.xctest/MyProjTests normal x86_64
cd /Users/XXX/xxxmios/MyProj
export IPHONEOS_DEPLOYMENT_TARGET=8.2
export 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 x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk -L/Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator -F/Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/Developer/Library/Frameworks -filelist /Users/NIE/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Intermediates/MyProj.build/Debug-iphonesimulator/MyProjTests.build/Objects-normal/x86_64/MyProjTests.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -bundle_loader /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProj.app/MyProj -Xlinker -objc_abi_version -Xlinker 2 -framework XCTest -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -Xlinker -add_ast_path -Xlinker /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Intermediates/MyProj.build/Debug-iphonesimulator/MyProjTests.build/Objects-normal/x86_64/MyProjTests.swiftmodule -mios-simulator-version-min=8.2 -Xlinker -dependency_info -Xlinker /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Intermediates/MyProj.build/Debug-iphonesimulator/MyProjTests.build/Objects-normal/x86_64/MyProjTests_dependency_info.dat -o /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProjTests.xctest/MyProjTests
ld: file not found: /Users/XXX/Library/Developer/Xcode/DerivedData/MyProj-fnouqouxukjwszadgmsdxsqmdgbt/Build/Products/Debug-iphonesimulator/MyProj.app/MyProj
clang: error: linker command failed with exit code 1 (use -v to see invocation)
按 cmd+shift+k 清理您的 xcode 项目。然后重建您的项目。
您的构建设置应该是
Architectures > Valid Architectures > arm64 armv7 armv7s
和select 架构部分中的标准架构。
并检查您是否错过了有用的框架。
从另一个问题here找到解决方案。
我使用@Chepe77 的回答来解决我的问题。我将在此处复制并粘贴@Chepe77 的回答。
- Select 您在项目导航器中的项目。
- Select 目标下的 YourProjectTests
- 在常规选项卡下,从下拉列表中更改主机应用程序
- 构建并运行.
您的架构应该更改为 arm7 -> armv7。