2011-08-20 36 views

回答

14

有很多normal desktop applications它们在Linux上使用GNUstep(免费版的Cocoa API)。

对于游戏,您可以尝试sdlobjc - 针对Objective-C的SDL绑定。

甚至还有一个名为Étoilé的Linux发行版,它使用基于GNUstep的用户环境和Objective-C中编写的所有自己的GUI应用程序。

如果您想了解如何在Objective-C在Linux(或Cygwin的)使用GNUstep的程序有一些可能出现的问题:

  • 必须使用cygwin在Windows中构建的应用程序。这意味着它:

    a)由于cygwin将POSIX API调用转换为Win32 API调用,某些应用程序可能会变慢。例如,fork()调用将在Win32的CreateProcess调用和其他一些调用中进行转换,效率将低于UNIX。

    B)您的应用程序必须与Cygwin的DLL

    c)您的应用程序不能是64位(至少目前如此)

    d)你的应用程序将看到所有的窗口磁盘驱动器的分布Unix文件系统层次结构的一部分(C:d:/cygdrive/C/cygdrive/d),你将有/斌/ tmp目录的/ usr /等可用的编缉下/以及。

  • 有没有关于GNUstep或关于编程Objective-C不使用Mac OS的最新书籍。 Thre是Stephen Kochan的书“Objective-C 2.0编程(第2版)”,他很遗憾地忽略了如何在Linux或Windows下构建基本示例的解释。我希望它在第3版中得到修复。

  • GNUstep拥有自己的主题,因此应用程序的主题可能与Linux中的GTK Linux应用程序或Windows中常见的主题应用程序不同。

+2

是GNUstep的整个IDE,还是它只是一个框架?按主题我猜你的意思是gui主题。 – zeboidlund