2011-07-09 17 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:您的設置問題可能是在項目級別或目標級別,因此檢查兩者。

相關問題