可能重复:
在Objective-C和linux上进行游戏编程
我知道开发iPhone应用程序(无痛苦,至less)需要一台Mac。 但是,在Linux下使用Objective-C开发普通的桌面应用程序是否有可能呢? 例如,我可以使用Objective-C的开发库制作游戏,并将其发布到Linux上,而不是iOS?
在Linux上有很多普通的桌面应用程序使用GNUstep (免费版的Cocoa API)。
对于游戏,您可以尝试sdlobjc – 针对Objective-C的SDL绑定。
甚至还有一个名为Étoilé的Linux发行版 ,它使用基于GNUstep的用户环境和Objective-C中所有自己的GUI应用程序。
如果您想学习如何在Linux(或cygwin)上使用GNUstep来编程Objective-C,则可能会遇到以下问题:
您必须在Windows中使用cygwin来构建应用程序。 这意味着它:
a)由于cygwin将POSIX API调用转换为Win32 API调用,某些应用程序可能会变慢。 例如, fork()
调用将在Win32的CreateProcess调用中被转换,而其他的调用将比在UNIX中效率低。
b)您的应用程序必须与cygwin的dll分发
c)你的应用程序不能是64位(至少现在)
d)你的应用程序会把你所有的Windows磁盘驱动器看作unix文件系统层次结构的一部分( c:和d:将是/ cygdrive / c和/ cygdrive / d ),你将在/ bin / tmp / usr / /也是。
没有关于GNUstep的最新书籍或关于不使用Mac OS的Objective-C编程。 Thre是Stephen Kochan的书“Objective-C 2.0编程(第2版)”,他遗憾地忽略了如何在Linux或Windows下构建基本例子的解释。 我希望它在第三版中得到修复。
GNUstep拥有自己的主题,因此应用程序可能与Linux中的GTK Linux应用程序或Windows中通常的主题应用程序的主题不同。