当命令行为 iPhone (iOS) 构建项目时,我收到以下错误:
ld 无法为架构 armv7 映射文件 errno=22
但是,当通过 lipo - info 检查库和对象时,它们支持 armv7。有没有人遇到过这个问题和/或知道如何完成链接?
err=22 表示“传递给 ld 的参数无效”
在您的日志中,您会在错误行上方看到一条长长的行,这是传递给 ld 的 ACTUAL 参数。你需要仔细检查,弄清楚每个部分的含义,找出 Xcode 出错的地方,然后处理它。
默认假设:它可能是包含不受支持的字符的文件名(或包含空格且周围没有“”的名称)。如果是这样,那是 ld 中的一个错误 - 但也是 Xcode 中的一个错误,它首先允许字符。
您需要为 armv7 编译您在 iOS 项目中使用的所有静态库。如果不是,它可能在模拟器上工作,但永远不会在设备上工作。