从Mac OS X移植Objective-C终端应用程序到Linux?

3

好的,下面是内容:

没什么大不了的,只是我的另一个编译器副项目(是的,这是我爱好之一,我承认),但我想问:

  • 我正在使用lex(Flex)和yacc(Bison),完全集成
  • 编译器的核心(程序)100%使用Objective-C编写,只使用Foundation

问题是:

  • 一旦程序运行起来,将其移植到其他*nix操作系统(Linux等)需要多少工作量?

有什么建议吗?


附言:

我已经独家使用C / C ++编写了近10个编译器。 然而:我喜欢Objective-C,并考虑在这个编译器创建项目中使用它作为实验对象(实际上是解释器)。 问题是,因为我打算在Gentoo Web服务器上使用生成的编译器,这可能是一个相当糟糕的选择吗?


我不相信在非苹果的世界中有任何对Foundation的支持。他们发布了CF-Lite,但那对你没有帮助。 - trojanfoe
3
该项目的目的是在尽可能多的平台上创建 Cocoa(曾被称为 NeXTSTEP/OpenStep)API 和工具的免费开放版本。GNUstep 提供了 AppKit 和 Foundation 库的强大实现以及可用于 Cocoa 的开发工具[...] - sidyll
1
你可能会发现Cocotron比gnustep更适合你的生活:http://www.cocotron.org/ 虽然Cocotron目前还不支持在Linux上的UI,但命令行代码是可以的。一个很大的区别是你可以(相当)容易地从Xcode中进行交叉编译。 - Mark
1
GNUstep,使用clang比gcc更好,特别是如果你想要Objective-C 2.0。您还可以尝试在OSX上安装和使用gnustep-make,并编写几乎相同的GNUmakefile文件。还请参阅http://wiki.gnustep.org/index.php/Cross_Compiling,我不确定它是否仍在工作,当我仍有访问Cocoa时它曾经为我工作过。 - Fred Frith-MacDonald
1个回答

1

不应该有太大问题。我在Ubuntu服务器上使用Obj-C编写了一个带有一些ssl内容的简单程序。这是我的makefile:

FLAGS=-D_GNU_SOURCE

all:
    gcc -lobjc -lgnustep-base -lcrypt -lssl -I/usr/include/GNUstep geochatd.m -o geochatd

请查看我的评论,建议使用Cocotron代替gnustep。 - Mark

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