0

我计划建立一个运行 Cocoa 制作的 CGI 的网站。我的最终目标是在 Mac OS X 上开发,并在 FreeBSD 上运行。这可能吗?

据我所知,有一些 NextStep 类的免费实现,即 GNUStep。该网站几乎只用字符串构建。我阅读了 GNUStep 文档,类就足够了。DB 连接将使用 C 接口进行。

我关心的最大问题是链接和二进制兼容性。我目前正在 VirtualBox 上配置 FreeBSD,但我想从专家那里了解任何可能的信息。

这不是生产服务器。只是一个试验。请随意说什么。

- 编辑 -

我混淆了 Foundation 和 Cocoa 框架。我说的是基金会。足以操作字符串的基本类。

4

5 回答 5

1

You should be OK with the GNUstep Foundation on FreeBSD 9.0 with Objective-C 2 (clang). See these instructions.

Note: Do not installing under '/' with a FreeBSD default install, because it has little space on the '/' partition. I've used /usr/local/gnustep instead, and made some links as the instructions suggest.

Note II: GNUstep sources from subversion repository didn't compile for me, so I used the latest stable GNUstep sources.

于 2011-10-16T12:43:42.450 回答
1

使用 Xcode 进行交叉开发是完全可能的。Cocotron做到了这一点 - 并提供了 Foundation 的实现 - 但目前不针对 FreeBSD。您可能可以将它用作模板来使用 GNUstep 为 BSD 目标设置交叉开发,但这并不容易。

于 2010-06-06T16:53:21.823 回答
0

听起来像是您试图将工具硬塞到它们不是为它们设计的操作系统和硬件上。有一些技巧可以让几乎所有东西都运行在其他东西之上,但为什么要要求所有的悲伤呢?

整个 Apple API 的重点在于,您可以集成从硬件到操作系统再到开发工具的所有内容。您应该预先支付更多费用,以换取更大的稳健性和更低的整个生命周期成本。(它并不总是有效,就像 Linux 并不总能省钱,Windows 并不总能提供您需要的软件选择,但这是设计目标。)当您打破 Apple 的硬件-操作系统-开发三位一体时,您必须开始与 API 和硬件作斗争,而不是让它为你工作。

我不认为你正在做的事情会奏效,即使它会花费很多时间,最终时间就是金钱。除非您被无法控制的外部环境强迫使用此配置,否则我强烈建议您尽一切努力寻找另一种方法来完成您想要的。

于 2010-06-06T15:12:02.057 回答
0

是的,你可以做到这一点,我现在正在使用 FreeBSD 8.2 和 Xcode 4.0 成功地做到这一点,从 Cocotron 运行 Foundation 类。这是一个链接:准确描述我为构建交叉编译器和设置所有内容所做的工作。 我在那篇文章中还详细说明了我是如何尝试让 AppKit (GUI) 工作的。我失败了,它可能在未来工作,它还没有完全工作。

到目前为止,它很棒。我使用通用代码库编写 iPhone App(游戏客户端)和 FreeBSD 游戏服务器;在我的服务器编译之后,我什至有一个目标 rsync 文件到我的开发箱。

还有一点,您提到了 DB,我在我的应用程序中成功使用了 mysqlclient 库,我的帖子详细说明了如何做到这一点。由于您正在使用 Cocotron 构建交叉编译器,因此您可以使用任何库。只需先在 FreeBSD 上安装库,然后按照说明创建平台。

于 2011-03-18T18:10:36.237 回答
-2

您不会获得二进制兼容性。Mac OS X 使用 Mach-O 对象格式,而 FreeBSD 使用 ELF,就像 linux 一样。Cocoa 不能在 Mac OS 以外的平台上运行,但是如果您坚持使用 POSIX 和开源库,那么在您的 FreeBSD 机器上构建 CGI(和任何依赖项)应该不会有太多麻烦。

另外,可可用于网站?它是用于 GUI、相关数据结构和各种帮助程序的 Mac OS 标准库。Apple 曾经推广过一种名为 WebObjects 的东西,它类似于网络上的 Cocoa,但我已经很久没有听说过它了。我认为 Cocoa 不适用于网站,除非您只是想编写一个在 Cocoa 中具有图形前端的自定义 Web 服务器。

于 2010-06-06T14:41:44.160 回答