2009-09-15 32 views
2

我有基於RubyCocoa 0.13.2的應用程序。它適用於10.5.8和更早版本。當我嘗試在10.6上運行它時,它會在無限循環中崩潰。 10.6內置0.13.2,但與10.5不同。當我試圖用10.6構建我的應用程序的Xcode 3.1.3項目與0.13.2框架時,它給出了一個鏈接錯誤 - 在0.13.2框架二進制文件上的格式錯誤的對象。用Xcode 3.2構建的應用程序不能在豹上運行,儘管我只構建了32個Arch。組態。我的問題是,是否有一種方法可以構建可在兩個平臺上運行的版本?爲Leopard和Snow Leopard構建相同的RubyCocoa應用程序版本

感謝,

納瓦

編輯:我覺得很疲憊試圖解決它,最好的辦法是隻改寫一切可可,至少你可以在一個人的方式進行調試。但我沒有這個奢侈品的許可:)

+0

謝謝你@Alex進行政治上正確的編輯:)) – 2009-09-26 18:07:38

+0

你應該嘗試修復10.6的無限循環,而不是試圖讓一個二進制庫在不同的操作系統版本上工作(注意從10.5到10.6的所有變化 - 特別是它現在是純粹的64位)。 – Koraktor 2009-09-27 18:34:03

+0

我在10.6上修復了無限循環,現在它正在工作。問題是,在10.6上工作的版本在10.5+上不起作用,反之亦然。這就是我在這裏問的問題,我如何爲Leopard&Snow Leopard製作相同版本,因爲它們使用相同的RubyCocoa版本...... – 2009-09-28 16:30:04

回答

0

fat binary maybe?

+0

我到目前爲止所嘗試的只是使用GCC 4.2構建32位通用體系結構。你建議構建32/64位通用? – 2009-09-28 21:27:27

-1

你或許應該有以下構建設置: -

  • 架構=64分之32位通用
  • 基地SDK =的Mac OS X 10.6
  • 部署目標=的Mac OS X 10.5

如果不能在工作10.5,嘗試改變

  • Base SDK = Mac OS X 10.5

我不認爲GCC的版本應該很重要,除非您無法成功構建。

+0

謝謝,會試試看! – 2009-10-01 19:00:54

+0

不幸的是,它沒有工作..它立即崩潰在OCX上RubyCocoa Leopard:84:[BUG]總線錯誤。我們使用系統紅寶石,豹和1.8.7雪豹是1.8.6。兩者都是相同的RubyCocoa 0.13.2。 – 2009-10-01 21:01:45

+0

您是否嘗試過創建一個非常簡單的應用程序,並試圖在10.5和10.6上運行它。這將有助於縮小範圍。 – 2009-10-02 12:25:08

0

我從RubyCocoa source forge團隊獲得了RubyCocoa版本1.0.1的通知,該版本應該適用於Leopard & Snow Leopard。會給它一個機會,特別是它有一個修復的版本。 Snow Leopard 1.0.0崩潰

0

已解決! 首先有一個新的RubyCocoa版本(Rev.2.277,基於1.0.0,即將發佈),它解決了SL故障,並且適用於Leopard & Snow Leopard。

我爲i386 & ppc體系結構構建了RubyCocoa版本。 在我設置的32bit通用項目中。基礎SDK = 10.5,部署目標= 10.5,編譯器= GCC 4.0。

現在我有一個版本,我可以建立在豹&雪豹,它工作在兩個平臺上(它沒有說,它沒有崩潰,但是這是另一個問題)