2012-06-30 106 views
1

我是一個業餘mac用戶,我試圖在Xcode中創建一個C++項目。無論我去哪裏,我都被告知要在Xcode中製作命令行工具項目。Xcode非終端C++項目

這是令人沮喪的,因爲我打算做一個OpenGL應用程序,所以我不希望它是一個控制檯應用程序。

這可能是一個非常業餘的問題,但我不熟悉Mac的。我怎樣才能在Xcode中創建一個非控制檯(終端),C++應用程序,以便讓我的OpenGL應用程序進入?

編輯:我可以使用SDL作爲開窗而不是可可嗎?

回答

0

您必須製作Cocoa應用程序,並將文件的擴展名從.m更改爲.mm。這告訴編譯器你也將使用Objective-C的C++。

Mac處理窗口的方式非常多,需要使用Objective-C,因此您需要基礎Cocoa來創建窗口和GL視圖,然後您將能夠像通常那樣在C++中編寫其餘的部分。

如果你真的想完全是C++,你可以使用像GLUT這樣的框架來處理窗口本身。

+0

我可以使用SDL嗎? – Constan7ine

+0

SDL也可以工作,但它需要支持Objective-C文件。我在網上找到了一次 - 我會嘗試找到一個鏈接。 – wquist

+0

看看github上的這個:https://github.com/Ricket/HelloSDL – wquist

0

在這種情況下,您可能確實需要一個命令行項目。

Xcode模板將包含一個Cocoa nib,如果您正在通過調用另一個庫來完成所有GUI,那麼這是一個純粹的C++項目,並且不需要這些模板。

如果您使它看起來像是一個可直接從Finder或Dock中運行的.app包的OSX應用程序,則可能需要做更多的工作。在這種情況下,選擇一個Cocoa應用程序並刪除main.m(由main.cc替換)和nibs。

+0

不過,你不會想要一個GUI應用程序中的appbundle,而不是一個簡單的可執行文件? – millimoose

0

您可以Cocoa應用程序和使用本機API設置OpenGL上下文,然後你的C++代碼集成到,或者你可以創建一個使用glut庫建立OpenGL的一個命令行應用程序。這是兩種主要方式。

注意:在OS X上,GLUT不支持OpenGL 3+,我不這麼認爲。