【问题标题】:Xcode Non-terminal C++ projectXcode 非终端 C++ 项目
【发布时间】:2012-06-30 21:32:02
【问题描述】:

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

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

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

编辑:我可以将 SDL 用于窗口而不是可可吗?

【问题讨论】:

    标签: c++ xcode macos opengl


    【解决方案1】:

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

    Mac 处理窗口的方式几乎需要使用 Objective-C,因此您需要基础 Cocoa 来制作窗口和 GL 视图,然后您就可以像往常一样用 C++ 编写其余部分。

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

    【讨论】:

    • SDL 也可以,但它需要一个支持的 Objective-C 文件。我曾经在网上某处找到它 - 我会尝试找到一个链接。
    • @DavidC:你可以使用 GLFW,它可以很好地完成所有 Cocoa / Obj-C 的工作。
    【解决方案2】:

    在这种情况下,您可能确实需要一个命令行项目。

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

    如果您要让它看起来像是一个 OSX 应用程序,它是一个可以直接从 Finder 或 Dock 运行的 .app 包,您可能需要做更多的事情。在这种情况下,选择一个 Cocoa 应用程序并删除 main.m(替换为 main.cc)和 nib。

    【讨论】:

    • 仍然,您不想要一个用于 GUI 应用程序的 appbundle,而不是一个普通的可执行文件吗?
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      相关资源
      最近更新 更多