2011-07-09 18 views
1

我想从box2d svn回购编译Box2D.xcodeproj。当我装了这个项目我有一个警告说:Box2D xcode项目编译器错误“命令/开发/平台/ iPhonePhoneSimulator.platform/Developer/usr/bin/gcc-4.2失败,退出代码1”

Missing SDK in target Box2D: iphoneos2.2

,当我试图编译我得到了两个错误:

Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

编辑:我戳了一下周围越来越设定的目标SDK成为iphoneos4.3(最新),现在我只得到一个错误:

[BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=i386, VALID_ARCHS=armv7).

任何想法为什么?

+0

在Xcode中,您应该能够获得有关该错误的更多详细信息。查看错误消息右侧的图标,使您可以显示编译器执行的命令行结果。 – sergio

+0

@sergio我编辑了我的答案,那是你的意思? – tweetypi

回答

2

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

编辑

您的更新后,似乎Box2D的配置打造的设备,而你试图建立它为iPhone模拟器。您可以通过尝试构建并在设备上运行(特别是iPhone 3GS或更高版本)来测试此功能。为了获得更好的解决方案,请再编辑一下Box2D项目,并禁用“Build active architecture only”选项,并将i386和armv6添加到有效目标体系结构列表中。理论上应该澄清剩下的问题。

+0

这照顾了警告和一个错误,但我仍然得到:“Command /开发人员/平台/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2失败,退出代码1” – tweetypi

+0

@meds - 我更新了我的回答,给出一个去看看它是否对你更好。 – aroth

2

我怀疑Box2D项目很老旧(由于引用了iphoneos2.2),并且打开它与一个迟的Xcode版本并没有很好地转换所有的选项(我说这是因为它对于我来说,在旧项目中遇到这种问题非常普遍)。

在你的情况下,我会建议尝试和禁用“Build active architecture only”标志,你可以在你的项目的构建设置中找到它,看看会发生什么。您也可能会考虑将与架构相关的所有设置重置为其默认值。

此外,尝试编译的设备,只是为了检查这是否工作。

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

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

相关问题