可能重复:
Objective-C和linux上的游戏编程
我知道开发iPhone应用程序(至少是无痛的)几乎需要Mac。但是,是否可以在Linux中使用Objective-C开发普通的桌面应用程序?例如,我可以使用Objective-C的开发库制作游戏,并将其发布用于Linux而不是iOS吗?
可能重复:
Objective-C和linux上的游戏编程
我知道开发iPhone应用程序(至少是无痛的)几乎需要Mac。但是,是否可以在Linux中使用Objective-C开发普通的桌面应用程序?例如,我可以使用Objective-C的开发库制作游戏,并将其发布用于Linux而不是iOS吗?
有很多的 普通桌面应用程序 哪个用 GNUstep的 (Linux上的免费版Cocoa API)。
对于游戏,你可以尝试 sdlobjc - Objective-C的SDL绑定。
甚至还有一个Linux发行版 ETOILE 它使用基于GNUstep的用户环境和在Objective-C中编写的所有自己的GUI应用程序。
如果你想学习如何在Linux(或cygwin)上使用GNUstep在Objective-C中编程,可能存在一些问题:
你必须使用 cygwin的 在windows中构建应用程序。这意味着它:
a)由于cygwin将POSIX API调用转换为Win32 API调用,因此某些应用程序可能会变慢。例如 fork()
call将在Win32的CreateProcess调用和其他一些调用中进行转换,效率将低于UNIX。
b)您的申请必须与cygwin的dll一起分发
c)您的申请不能是64位(至少目前为止)
d)您的应用程序将所有Windows磁盘驱动器视为unix文件系统层次结构的一部分(C: 和 d: 将会 / cygdrive / C 和 / cygdrive / d)你会的 / bin / tmp / usr / etc. 可以在 / 同样。
没有关于GNUstep或关于不使用Mac OS编程Objective-C的最新书籍。 Thre是Stephen Kochan的书“Objective-C 2.0编程(第2版)”,遗憾的是,他不知道如何在Linux或Windows下构建基本的例子。我希望它在第3版中得到修复。
GNUstep具有自己的主题,因此应用程序的主题可能与Linux中的GTK Linux应用程序或Windows中的常用主题应用程序不同。
有很多的 普通桌面应用程序 哪个用 GNUstep的 (Linux上的免费版Cocoa API)。
对于游戏,你可以尝试 sdlobjc - Objective-C的SDL绑定。
甚至还有一个Linux发行版 ETOILE 它使用基于GNUstep的用户环境和在Objective-C中编写的所有自己的GUI应用程序。
如果你想学习如何在Linux(或cygwin)上使用GNUstep在Objective-C中编程,可能存在一些问题:
你必须使用 cygwin的 在windows中构建应用程序。这意味着它:
a)由于cygwin将POSIX API调用转换为Win32 API调用,因此某些应用程序可能会变慢。例如 fork()
call将在Win32的CreateProcess调用和其他一些调用中进行转换,效率将低于UNIX。
b)您的申请必须与cygwin的dll一起分发
c)您的申请不能是64位(至少目前为止)
d)您的应用程序将所有Windows磁盘驱动器视为unix文件系统层次结构的一部分(C: 和 d: 将会 / cygdrive / C 和 / cygdrive / d)你会的 / bin / tmp / usr / etc. 可以在 / 同样。
没有关于GNUstep或关于不使用Mac OS编程Objective-C的最新书籍。 Thre是Stephen Kochan的书“Objective-C 2.0编程(第2版)”,遗憾的是,他不知道如何在Linux或Windows下构建基本的例子。我希望它在第3版中得到修复。
GNUstep具有自己的主题,因此应用程序的主题可能与Linux中的GTK Linux应用程序或Windows中的常用主题应用程序不同。