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



我正在尝试编译Box2D。Xcodeproj从box2d SVN的repo。当我加载项目时,我有一个警告说:

目标Box2D中缺少SDK:iphoneos2.2

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

命令/开发/平台/iPhoneSimulator.platform/开发/usr/bin/gcc - 4.2失败,退出代码1

命令/开发/平台/iPhoneSimulator.platform/开发/usr/bin/gcc - 4.2失败,退出代码1

编辑:我多戳了一下,把目标sdk设置为iphoneos4.3(最新),现在我只得到一个错误:

[BEROR]没有需要编译的体系结构(ONLY_ACTIVE_ARCH =是的,活跃拱= i386 VALID_ARCHS = v7)。

知道为什么吗?

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

编辑

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

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

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

同时,尝试为设备编译,只是为了检查这是否有效。

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

PS:设置的问题可能是在项目级别,也可能是在目标级别,所以检查两个。

相关内容

最新更新