对于架构armv7,ld无法映射文件errno = 22

时间:2012-10-24 14:19:41

标签: iphone ios build arm llvm-gcc

当为iPhone(iOS)构建项目的命令行时,我收到以下错误:

  

ld无法映射文件errno = 22 for architecture armv7

然而,当通过lipo-info检查库和对象时,它们支持armv7。有没有人有这个问题和/或知道如何完成链接?

2 个答案:

答案 0 :(得分:0)

err = 22表示“传递给ld的参数无效”

在你的日志中,你会在错误行上方看到一条长长的行,这是传递给ld的ACTUAL参数。你需要仔细检查一下,找出每个部分的含义,找出Xcode出错的地方,并处理它。

默认假设:它可能是一个包含不受支持的字符的文件名(或者包含空格且周围没有“”的名称)。如果是这样,这是ld中的一个错误 - 但也是Xcode中的一个错误,它允许首先放置角色。

答案 1 :(得分:-1)

您需要为iOS项目中使用的所有静态库编译为armv7。如果它们不是,它可能在模拟器上工作,但永远不会在设备上工作。