可执行文件中的错误 CPU 类型
Posted
技术标签:
【中文标题】可执行文件中的错误 CPU 类型【英文标题】:Bad CPU type in executable 【发布时间】:2012-03-21 09:03:07 【问题描述】:我必须更新一个适用于 ios 的应用程序,该应用程序从 iOS 3.1.3 运行到最新的 5.1。
当我在新的 Xcode 4.3.1 上构建代码并尝试在装有 iOS 3.1.3 的旧设备上测试此应用程序时,我收到错误“可执行文件的 CPU 类型错误”。
iOS Deployment Target = 3.1.3
Architectures = armv6 $(ARCHS_STANDARD_32_BIT) - armv6 $
Valid Architectures = armv6 armv7
如果我将 armv5 添加到有效架构列表中,代码会安装在设备上,但应用程序以黑屏启动,并且没有任何反应。 然后我可以停止程序并在设备上启动它。它似乎工作了。
是否允许将 armv5 添加到有效架构列表中?这是摆脱错误的解决方案吗?
【问题讨论】:
我不知道你的项目中发生了什么,但你不应该使用“armv5”!你试过添加armv7吗? 我认为不需要 armv5。尝试将 Architectures 的值设置为字符串“armv6 armv7”,即删除$(ARCHS_STANDARD_32_BIT)
变量。这是一个带有屏幕截图的相关问题***.com/questions/4198676/…
将 Architectures 的值设置为字符串 "armv6 armv7" 后,程序在 3.1.3 设备上运行。谢谢!
@thpitsch 你找到解决这个问题的方法了吗?
iPhone 上实际上没有 armv5 这样的东西。最初的 iPhone 是从 armv6 开始的。然后苹果将其升级到 armv7。
【参考方案1】:
我今天在 iOS 4.1 和 Xcode 4.3.3 上看到了同样的问题。修复 - 只需重新打开 Xcode 并重新连接手机。
【讨论】:
这个魔法也帮助了我使用 xcode 4.3 和 iphone 3G (ios 4.2)【参考方案2】:我在设备(在 iPad2 和 iPhone3GS 上)“重置网络设置”之后解决了这个神奇的问题。这是纯粹的魔法!
【讨论】:
以上是关于可执行文件中的错误 CPU 类型的主要内容,如果未能解决你的问题,请参考以下文章
在 M1 macbook 上 brew install elasticsearch 导致“可执行文件中的 CPU 类型错误”错误
Android 逆向ELF 文件格式 ( ELF 文件类型 | ELF 文件对应 CPU 架构 | ELF 目标文件版本 | 可执行程序起始地址 )
Android 逆向ELF 文件格式 ( ELF 文件类型 | ELF 文件对应 CPU 架构 | ELF 目标文件版本 | 可执行程序起始地址 )