我是一个业余mac用户,我试图在Xcode中创建一个C++项目。无论我去哪里,我都被告知要在Xcode中制作命令行工具项目。Xcode非终端C++项目
这是令人沮丧的,因为我打算做一个OpenGL应用程序,所以我不希望它是一个控制台应用程序。
这可能是一个非常业余的问题,但我不熟悉Mac的。我怎样才能在Xcode中创建一个非控制台(终端),C++应用程序,以便让我的OpenGL应用程序进入?
编辑:我可以使用SDL作为开窗而不是可可吗?
我是一个业余mac用户,我试图在Xcode中创建一个C++项目。无论我去哪里,我都被告知要在Xcode中制作命令行工具项目。Xcode非终端C++项目
这是令人沮丧的,因为我打算做一个OpenGL应用程序,所以我不希望它是一个控制台应用程序。
这可能是一个非常业余的问题,但我不熟悉Mac的。我怎样才能在Xcode中创建一个非控制台(终端),C++应用程序,以便让我的OpenGL应用程序进入?
编辑:我可以使用SDL作为开窗而不是可可吗?
您必须制作Cocoa应用程序,并将文件的扩展名从.m
更改为.mm
。这告诉编译器你也将使用Objective-C的C++。
Mac处理窗口的方式非常多,需要使用Objective-C,因此您需要基础Cocoa来创建窗口和GL视图,然后您将能够像通常那样在C++中编写其余的部分。
如果你真的想完全是C++,你可以使用像GLUT这样的框架来处理窗口本身。
在这种情况下,您可能确实需要一个命令行项目。
Xcode模板将包含一个Cocoa nib,如果您正在通过调用另一个库来完成所有GUI,那么这是一个纯粹的C++项目,并且不需要这些模板。
如果您使它看起来像是一个可直接从Finder或Dock中运行的.app包的OSX应用程序,则可能需要做更多的工作。在这种情况下,选择一个Cocoa应用程序并删除main.m(由main.cc替换)和nibs。
不过,你不会想要一个GUI应用程序中的appbundle,而不是一个简单的可执行文件? – millimoose
您可以Cocoa应用程序和使用本机API设置OpenGL上下文,然后你的C++代码集成到,或者你可以创建一个使用glut库建立OpenGL的一个命令行应用程序。这是两种主要方式。
注意:在OS X上,GLUT不支持OpenGL 3+,我不这么认为。
我可以使用SDL吗? – Constan7ine
SDL也可以工作,但它需要支持Objective-C文件。我在网上找到了一次 - 我会尝试找到一个链接。 – wquist
看看github上的这个:https://github.com/Ricket/HelloSDL – wquist