【问题标题】:Swift: Apple Mach-O Linker Error (file too small for architecture x86_64)Swift:Apple Mach-O 链接器错误(文件对于 x86_64 架构而言太小)
【发布时间】:2015-08-10 09:55:10
【问题描述】:

我正在创建一个从网站获取信息的天气应用程序。上次我编码时(昨晚)一切都很好,我能够编译和运行模拟器而没有错误。就在今天,当我启动同一个项目时,没有进行任何更改,我得到了“Apple Mach-O Linker Error”。请问大家可以帮忙吗?

这是错误的详细信息:

Ld /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator/Haze\ Meter.app/Haze\ Meter normal x86_64
    cd "/Users/Allister/Documents/XCODE/Haze Meter"
    export IPHONEOS_DEPLOYMENT_TARGET=8.3
    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 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.3.sdk -L/Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator -F/Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator -filelist /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze\ Meter.build/Debug-iphonesimulator/Haze\ Meter.build/Objects-normal/x86_64/Haze\ Meter.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -Xlinker -add_ast_path -Xlinker /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze\ Meter.build/Debug-iphonesimulator/Haze\ Meter.build/Objects-normal/x86_64/Haze_Meter.swiftmodule -mios-simulator-version-min=8.3 -Xlinker -dependency_info -Xlinker /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze\ Meter.build/Debug-iphonesimulator/Haze\ Meter.build/Objects-normal/x86_64/Haze\ Meter_dependency_info.dat -o /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator/Haze\ Meter.app/Haze\ Meter

在底部:

ld: file too small (length=0) file '/Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze Meter.build/Debug-iphonesimulator/Haze Meter.build/Objects-normal/x86_64/ViewController.o' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我在 StackOverflow 上检查了其他“Apple Mach-O 链接器错误”,但它们似乎与我的“ld”不同,尽管“clang”相同。

【问题讨论】:

    标签: ios xcode swift


    【解决方案1】:

    我在使用 AppCode 时遇到了同样的问题。使缓存无效/重新启动没有帮助。通过手动删除Library/Caches/AppCodeXXXX/DerivedData 文件夹修复了问题。

    【讨论】:

      【解决方案2】:

      在我的情况下。我在 cocoapods 访问的框架中遇到此错误。我通过运行 cmd 'pod cache clean' 修复此错误,然后清理并重建项目。

      【讨论】:

        【解决方案3】:

        对我来说,这是因为一个空的 UINavigationController 被困在故事板中。

        希望对有需要的人有所帮助。

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题。原来是我在外部添加的一个框架找不到了。为了修复它,我删除了对它的引用,重新下载它,然后将它重新添加到我的项目中。

          【讨论】:

            【解决方案5】:

            您不必(通常)清理,只需打开它提到的文件并重新保存它,以便 xcode 认为它已更改。然后你就可以进行增量构建(快得多)。

            【讨论】:

            • 这样可以节省很多工作。如果它不起作用,请更改文件中的某些内容并重新构建以使其起作用。
            【解决方案6】:

            尝试完全重建/清理。以前的构建可能已异常中止,导致ViewController.o 文件损坏或大小为零。

            要清理:在 Xcode 的“产品”菜单中,选择“清理”(快捷键:Cmd+Shift+K)

            重建:在Xcode“Product”菜单中,选择“Build”(快捷键:Cmd+B)

            如果不行:在Xcode的“Product”菜单中,按住Option键,选择“Clean Build Folder”

            来自HERE 的引用。

            【讨论】:

            • 这行得通!请问“重建”和“清洁”的含义/功能是什么?
            • 多次干净的构建,我仍然得到这个错误,这很麻烦!
            • @Brynjar,试试deleting Derived Data
            • 苹果的质量低于标准,恕我直言。
            • 不知道“清理构建文件夹”,为我解决了这个问题!
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-12-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-12
            • 2020-01-14
            • 1970-01-01
            相关资源
            最近更新 更多