2012-07-26 114 views
3

我已經使用命令行工具項目模板創建了一個OpenGL應用程序。 現在輸出項目顯然是一個unix可執行文件。從C++應用程序創建OSx應用程序

我的問題是我該如何將這個可執行文件轉換成捆綁.app? 我要添加另一個目標嗎?

回答

1

如果您創建了一個命令行工具,那就是一個命令行工具。我不知道有什麼方法可以輕鬆將它捆綁到應用程序中。

如果我是你,並且你將開始編寫Mac OpenGL應用程序,請使用SFML進行設置。它極大地簡化了窗口創建,是跨平臺的,並且擁有一個很棒的社區。同時,漸漸在MAC的.app捆綁的資源路徑是有點棘手,他們提供的模板,您可以訪問任何文件與呼叫:

loadFile(resourcePath() + "filename.txt"); 

,而不必多事。另外,整個資源路徑代碼是用C語言編寫的,這對於一些C++程序員來說可能是一種痛苦。

整個框架非常健壯,但保持簡單的風格和自己的命名空間。使用你想要的東西,不要使用你不需要的東西。最新版本(仍爲beta)2.0,附帶Xcode模板。只需創建一個模板並在您的項目的構建設置中,滾動到底部。你會看到SFML_LINK_DYLIBS_SUFFIX,它的值爲'-d'。刪除'-d'並且它應該被編譯。

然後,如果您正在分發,請添加複製文件構建階段並鏈接您使用的.dylib(s)。

+0

我不明白SFML是否可以與GLUT一起使用,或者是否可以將它替換爲其他功能。我的意思是,如果我正確理解:GLUT也用於簡化Windows創建和SFML。 – MatterGoal 2012-07-26 10:41:06

+0

和...你怎麼看待使用NSGLView而不是GLUT和類似的? – MatterGoal 2012-07-26 10:58:31

+0

@MatterGoal如果你打算使用SFML,使用GLUT沒什麼意義,因爲SFML可以完成GLUT的工作。 SFML優於非遊戲應用程序的NSOpenGLView的主要優點是SFML是跨平臺的,而NSOpenGLView僅適用於Mac。如果你不關心其他操作系統,NSOpenGLView可以使用。 – 2012-07-26 18:17:07