“文件太小,不适用于架构arm64”,“clang:错误:链接器命令失败,退出代码为1”

问题描述 投票:4回答:2

我刚刚尝试在iPad上运行应用程序并出现此错误:

ld: file too small (length=0) file '(PathToMyProjectBuild)/Objects-normal/arm64/Palette.o' for architecture arm64
clang: error: linker command failed with exit code 1 

我的应用程序在iPhone上运行良好,并且优雅地在我的iPad上运行,然后我突然得到了这个。它甚至意味着什么,我怎么能解决这个问题,因为我正在开发这个应用程序主要在我的iPad上使用它,而不是iPhone(尽管它是通用的)?

ios xcode ipad
2个回答
11
投票

中断生成后会发生此错误。产品/清洁通常会修复它。

我相信编译器正试图将二进制数据保存在一个文件/空间中,该文件/空间被中断的构建部分分配(并且没有清理),但是新的二进制数据大于前一个可能是零字节文件的二进制数据。


3
投票

有时清理项目不是最佳选择,因为从头开始重新编译所有内容需要很长时间。大多数情况下,只有一个(在极少数情况下为2或3)文件会产生错误。

要解决此问题,只需从终端中删除该确切文件,然后通过在rm命令后粘贴完整路径来重新构建。在你的情况下,它将是:

$ rm (PathToMyProjectBuild)/Objects-normal/arm64/Palette.o
© www.soinside.com 2019 - 2024. All rights reserved.