Xcode 非终端C++项目

Xcode Non-terminal C++ project

本文关键字:项目 C++ 终端 Xcode      更新时间:2023-10-16

我是一个业余的Mac用户,我正在尝试用Xcode制作一个c ++项目。无论我走到哪里,我都被告知要在Xcode中制作一个命令行工具项目。

这很令人沮丧,因为我打算制作一个OpenGL应用程序,所以我不希望它成为一个控制台应用程序。

这可能是一个非常业余的问题,但我不熟悉Mac的问题。如何在 Xcode 中制作一个非控制台(终端)C++应用程序,以便在其中制作我的 OpenGL 应用程序?

编辑:我可以使用 SDL 而不是可可进行窗口化吗?

您必须创建一个Cocoa应用程序,并将文件的扩展名从.m更改为.mm。这告诉编译器你也将C++与Objective-C一起使用。

Mac处理窗口的方式几乎需要使用Objective-C,所以你需要基本的Cocoa来制作窗口和GL视图,然后你将能够像往常一样用C++编写其余部分。

如果你真的想完全C++,你可以使用像GLUT这样的框架来处理窗口本身。

在这种情况下,

您可能确实需要一个命令行项目。

Xcode 模板将包含一个 Cocoa 笔尖,如果您正在通过调用另一个库来执行所有 GUI,它是一个纯C++项目,不需要这些模板。

如果要使它看起来像一个OSX应用程序,而OSX应用程序是一个可以直接从Finder或Dock运行的.app捆绑包,则可能需要执行更多操作。在这种情况下,选择一个可可应用程序并删除main.m(替换为 main.cc)和笔尖。

您可以创建一个 Cocoa 应用程序并使用本机 API 设置 OpenGL 上下文,然后将您的C++代码集成到其中,或者您可以创建一个使用 GLUT 库来设置 OpenGL 的命令行应用程序。这是两种主要方式。

注意:我认为OS X上的GLUT还不支持OpenGL 3+。