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