Xcode 6:在不使用模板的情况下创建纯C++ OpenGL 应用程序捆绑包 (.app "Cocoa Application"

Xcode 6: Create pure C++ OpenGL application bundle (.app) without using "Cocoa Application" template

本文关键字:应用程序 OpenGL C++ Application Cocoa app 创建 情况下 Xcode      更新时间:2023-10-16

我试图创建一个纯c++ OpenGL应用程序包(.app)而不是普通的命令行可执行文件。我试图避免直接使用Obj-C或Cocoa,尽管我使用GLFW,这需要与Cocoa.framework链接。

我能够通过选择Cocoa Application模板并删除除Info之外的所有内容来完成此操作。Plist和替换main。使用main.cpp,但是整个过程非常烦人。另外,Cocoa应用程序命令行工具模板之间是否存在影响性能/二进制文件大小的重要项目设置差异?他们的构建设置非常相似,所以也许我是清楚的。

无论如何,我有几个选择:

  1. 继续做我正在做的事情(工作,但烦人)
  2. 命令行应用程序模板生成应用程序包(更好,但不确定是否可能)

如果答案是1,我可能会创建一个自定义的目标模板。

对于.app,您将始终需要一些Objective-C,以便能够与用户进行交互,您将不得不使用AppKit,这是一个Objective-C框架。

然而,答案是简单地将所有.m文件重命名为.mm并使用objective - c++,它无缝地允许您在同一个文件中使用Objective-C和c++,具有很少的限制。

然而,我不确定你如何集成GLFW,因为为了获得键盘和鼠标事件,你需要在循环中调用glfwPollEvents(),这个事件处理和循环与OSX运行循环不一致,所以它可能不可能。我在谷歌上快速搜索并没有找到解决方案,所以这需要更多的调查。你可能会被迫忘记GLFW,在主视图中使用OpenGL,并使用AppKit进行鼠标/键盘输入。