问题 Linux中的Objective-C [重复]


可能重复:
Objective-C和linux上的游戏编程 

我知道开发iPhone应用程序(至少是无痛的)几乎需要Mac。但是,是否可以在Linux中使用Objective-C开发普通的桌面应用程序?例如,我可以使用Objective-C的开发库制作游戏,并将其发布用于Linux而不是iOS吗?


7905
2017-08-20 18:21


起源



答案:


有很多的 普通桌面应用程序 哪个用 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中的常用主题应用程序不同。


14
2017-08-20 22:14



GNUstep是一个完整的IDE,还是只是一个框架?通过主题,我猜你的意思是gui主题。 - zeboidlund


答案:


有很多的 普通桌面应用程序 哪个用 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中的常用主题应用程序不同。


14
2017-08-20 22:14



GNUstep是一个完整的IDE,还是只是一个框架?通过主题,我猜你的意思是gui主题。 - zeboidlund