2010-02-13 30 views
1

道歉,如果這是一個newbish問題,但我是新到Mac編程,我想我會嘗試移植我的應用程序的Mac OS。將OpenGL應用程序移植到Mac OS:X11,可可或其他選擇?

基本上我的問題可以歸結爲是什麼我的選擇和取捨編程在OpenGL在Mac上?

在做我自己的研究,我似乎已經開始,我有選擇的結論:

一)對X11 ■編程)使用Cocoa框架(在某種程度上)

我米不知道是否有更多可用的選項。

無論如何,我會很感激知道什麼是選項,如果有確實有的話,這樣做任何取捨。理想情況下,只要我保持一些表現的外表,我的目標是達到最高級別的便攜性。

更多信息:

我已經移植我的申請因此有些遠,企圖用X11作爲我的基礎(因爲它目前編譯Linux上)。然而,我收到未定義的符號錯誤_glXCreateContext和這樣的,這讓我想知道如果我吠叫錯了樹。

回答

1

根據您在OpenGL之外嘗試做的事情,您可能對GLUT(包含在Mac OS X中)或SDL作爲項目的窗口基礎有一些好運。我相信SDL在Linux上的Mac OS X和X11上內部使用Cocoa。

SDL是相當便攜;它支持所有主要平臺。唯一的缺點是,它並沒有很多的平臺狀的標準打開/保存對話方塊或你將通過編寫一個Cocoa版本的項目得到GUI控件「應用程序」功能。

對於GLUT也是如此,但它有幾個可能有用的GUI基元(右鍵菜單和按鈕)。

瞄準X11直接意味着你的Mac用戶必須安裝有X11的支持;這是許多Mac OS X版本的可選安裝,您不一定期望它們按需安裝。在我看來,它還提供了與OS X不兼容的糟糕用戶體驗。

1

X是OS X上的二等公民。它取決於你的應用程序到底想要做什麼,誰將使用它等等,但我會用可可(你可以從Cocoa Drawing Guide)。缺點是可可是一個非常獨特的世界,需要一段時間才能適應。

1

除了事先提到的API的,也有AGL /碳和Qt。

AGL是有點過時,永遠不會支持64位。

的Qt在國際海事組織對於實際應用的最佳選擇,因爲它是跨平臺的,並提供了很好的用戶界面支持。

相關問題