在Mac OS X上使用C++创建应用程序?(不使用Cocoa)

3

看起来在Xcode 4中,不再有一种使用C或C ++创建非命令行应用程序的方法。然而,Glut似乎是适用于Mac的仅有的几个与C++和OpenGL配合使用的框架之一,但是glut的功能开始在现代操作系统上停止工作。是否有其他替代品可以让我在Mac上使用C ++或C进行软件开发?它不必局限于使用xcode或opengl。


有一些跨平台的GUI工具包,如Qt和GTK,它们具有Quartz或Cocoa后端,但它们不可避免地会导致某种程度的非本机外观和感觉。你可以使用大部分C++和仅少量的Objective-C编写Cocoa应用程序。 - user57368
怎么做?有没有好的地方可以学习如何做这个? - William Oliver
SDL 在 OSX 上可以使用,对吧?大多数人用它来制作游戏,但你也可以用它来做一些严肃的工作。 - Ben Voigt
@BenVoigt 是的,SFML 也是。 - David Brown
我使用GLFW + GLEW。简单易用。 - Grimmy
3个回答

6

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

如果你只是不喜欢Obj-C,那么编写一个非常薄的包装器,在C++中封装你关心的调用应该是直接的。

如果你试图证明一点,你实际上可以在纯C代码中直接调用Obj-C运行时。例如,参见:使用objc_msgSend调用带有命名参数的Objective C函数

如果还有其他问题,请启发我们,以便我们更好地回答你的问题。


4

QT是你最好的选择。它配备了一个严肃的IDE,并且库是用非常好的和直观的C++编写的。

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


从纯粹主义的角度来看,Qt不是C++。从实际角度来看,Qt也不是好的C++。 - Clearer

1

如果你只需要一个窗口、OpenGL上下文和用户界面,那么可以选择SDL。它完全使用C语言编写,跨平台,并且几乎是面向对象的(大多数数据类型都是结构体)。与Qt这个庞然大物相比,它也非常节省内存(其核心DLL大小不到500KB,在Linux上无窗口程序使用的RAM少于1MB)。

我还建议从LazyFoo's tutorials开始学习,因为它们确实从C++程序员的角度来讲解,而不是C语言的角度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接