2012-10-25 110 views
1

我有一個客觀的c腳本,它將Mac的系統信息輸出爲具有特定標記的XML。它適用於Mountain Lion和Lion,但不適用於除此之外的任何版本。高達10.5將是理想的。當我在10.6.8上運行它時,出現壞CPU錯誤。有什麼建議麼?舊版Mac的編譯程序

+0

您是否在項目設置的「信息」選項卡中將「OS X部署目標」設置爲10.5? –

+0

我得到一個鐺llvm 1.0錯誤 – John

回答

1

Xcode 4.5.1附帶OS X 10.7和10.8 SDK。要編譯在早期OS X版本上運行的程序,必須在程序設置的「信息」選項卡中設置「OS X部署目標」。

僅在OS X 10.6及更高版本中支持「自動引用計數」(請參閱​​Objective-C Feature Availability Index)。如果你想部署到10.5,你必須編譯沒有ARC。因此,無論

  • 您創建一個新的項目,並取消選中「使用自動引用計數」,或
  • 設置在Build設置「的Objective-C自動引用計數」爲「無」。

要構建在32位處理器上運行的可執行文件,必須在「構建」設置中將「體系結構」設置爲「32位英特爾」。默認情況下,Xcode 4.5.1將編譯爲編譯機器的體系結構(最可能是64位)。但在這種情況下,您不能使用ARC,因爲ARC需要所謂的「現代運行時」,它只能在64位系統上使用。

+0

我試圖不禁用ARC並保持在10.6。我更改了OS X部署目標,並且仍然在可執行文件中得到錯誤的CPU類型 – John

+0

@Ali:您可以在命令行上執行「文件」 - 無論是在編譯它的機器上,還是在10.6機器上。這可能有助於發現問題。 –

+0

我編譯的mac是64位,而10.6是32位。你認爲這可能是問題?如果是這樣,我會如何解決這個問題? – John

相關問題