Box2D xcode 项目编译器错误“Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2

Posted

技术标签:

【中文标题】Box2D xcode 项目编译器错误“Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1”【英文标题】:Box2D xcode project compiler errors "Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1" 【发布时间】:2011-07-09 07:47:33 【问题描述】:

我正在尝试从 box2d svn repo 编译 Box2D.xcodeproj。当我加载项目时,我收到一条警告:

目标 Box2D 中缺少 SDK: iphoneos2.2

当我尝试编译时出现两个错误:

命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 退出代码 1 失败

命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 退出代码 1 失败

编辑:我又摸索了一下,将目标 sdk 设置为 iphoneos4.3(最新),现在我只收到一个错误:

[BEROR]没有可编译的架构 (ONLY_ACTIVE_ARCH=YES,激活 arch=i386, VALID_ARCHS=armv7)。

有什么想法吗?

【问题讨论】:

在 Xcode 中,您应该能够获得有关该错误的更多详细信息。查看错误消息右侧的图标,该图标可让您显示编译器执行的命令行结果。 @sergio 我编辑了我的答案,这是你的意思吗? 【参考方案1】:

您是否尝试过进入 Box2D 项目设置,并将所选 SDK 从“iphoneos2.2”更改为“最新 ios”(或您在其他项目中成功构建的任何内容)?

编辑

更新后,Box2D 似乎配置为为设备构建,而您正在尝试为 iPhone 模拟器构建它。您可以通过尝试在设备(特别是 iPhone 3GS 或更高版本)上构建和运行来测试这一点。为了获得更好的修复,请多编辑您的 Box2D 项目,并禁用“仅构建活动架构”选项,并将 i386 和 armv6 添加到您的有效目标架构列表中。从理论上讲,这应该可以解决剩下的问题。

【讨论】:

这会处理警告和一个错误,但我仍然得到:“Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1”跨度> @meds - 我已经更新了我的答案,试一试,看看它是否更适合你。【参考方案2】:

我怀疑 Box2D 项目已经相当老了(由于引用了 iphoneos2.2),并且使用较晚版本的 Xcode 打开它并不能很好地转换所有选项(我这么说是因为它是对我来说,在旧项目中遇到这种问题是很常见的)。

在您的情况下,我建议您尝试禁用“仅构建活动架构”标志,您可以在项目的构建设置中找到该标志,看看会发生什么。您可能还会考虑将与架构相关的所有设置重置为默认值。

另外,尝试为设备编译,只是为了检查它是否有效。

如果我的建议没有帮助,我知道解决此类问题的唯一方法是检查在 Xcode 项目包中找到的 project.pbxproj 并删除错误(通常,有一些重复配置或过时的信息)。

PS:您的设置问题可能出在项目级别或目标级别,因此请检查两者。

【讨论】:

以上是关于Box2D xcode 项目编译器错误“Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 的主要内容,如果未能解决你的问题,请参考以下文章

重命名 XCode 5.1 项目后出现编译器错误

如何正确使用Cmake中的标题路径在我的项目中构建Box2D

新 Xcode 项目中的 OSX 10.7 预编译错误

如何在 Cmake 中正确设置标题路径以在我的项目中构建 Box2D

XCode 更改项目名以后出现编译错误的解决方法

项目在 XCode 中编译,但 XCodeBuild 产生错误“No architectures ...”