【问题标题】:Creating an application on Mac OS X using C++? (without Cocoa)使用 C++ 在 Mac OS X 上创建应用程序? (不含可可)
【发布时间】:2012-12-17 07:56:59
【问题描述】:

似乎在 Xcode 4 中不再有一种方法可以创建不受限于使用 C 或 C++ 的命令行的应用程序。我想这样做,但是 Glut 似乎是唯一可用于 Mac 的可与 C++ 和 OpenGL 一起使用的框架之一,但是 gluts 功能开始停止在现代操作系统上工作。是否有其他替代方法可以让我在 Mac 上使用 C++ 或 C 进行软件开发?不必局限于使用 xcode 或 opengl。

【问题讨论】:

  • 有一些跨平台的 GUI 工具包,如 Qt 和 GTK,它们具有 Quartz 或 Cocoa 后端,但它们总是会产生某种程度的非原生外观。您可以主要使用 C++ 和少量 Objective-C 编写 Cocoa 应用程序。
  • 怎么样?有没有好地方可以学习如何做到这一点?
  • SDL 在 OSX 上工作,不是吗?大多数人将它用于游戏,但没有什么能阻止您将它用于严肃的工作。
  • @BenVoigt 是的,SFML
  • 我使用 GLFW + GLEW。简单易行。

标签: c++ c xcode macos opengl


【解决方案1】:

是的,这是可能的,但这可能不是一个好主意。真正的问题是您要解决什么问题?

如果您只是不喜欢 Obj-C,那么编写一个非常薄的 shim 来包装您在 C++ 中关心的调用应该很简单。

如果您想证明一个观点,您实际上可以用纯 C 代码直接调用 Obj-C 运行时。例如:using objc_msgSend to call a Objective C function with named arguments

如果是其他问题,请赐教,以便我们更好地回答您的问题。

【讨论】:

    【解决方案2】:

    QT 是您的最佳选择。它带有一个严肃的 IDE,并且库是用非常好的和直观的 C​​++ 编写的。

    QT 可以在这里找到:http://qt-project.org/downloads

    【讨论】:

    • 从纯粹的观点来看,Qt 不是 C++。从实用的角度来看,Qt 不是好的 C++。
    【解决方案3】:

    如果您只需要一个窗口、一个 OpenGL 上下文和用户界面,那么就采用 SDL 方式。完全用 C 语言编写,跨平台,几乎面向对象(无论如何,大多数数据类型都是结构)。它也非常节省内存(它的核心 DLL 大小小于 500KB,Linux 上的无窗口程序使用的 RAM 不到 1MB),不像 Qt 那样的怪物。

    我也推荐 LazyFoo's tutorials 开始,因为它们确实涵盖了从 C++ 程序员的角度学习,而不是 C 程序员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-07
      • 2010-10-09
      • 2012-06-18
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      相关资源
      最近更新 更多