【问题标题】:Compiling Objective-C app for Linux (API coverage)为 Linux 编译 Objective-C 应用程序(API 覆盖率)
【发布时间】:2012-03-12 09:52:27
【问题描述】:

我可能会在这里问一些奇怪的问题,但我不确定从哪里开始。问题是我正在考虑在 Mac 上使用 Obj-C 和 Foundation 类编写命令行工具。

但我希望能够为不同的 Linux 发行版编译它以在未来作为服务器应用程序运行,这存在很大的风险。

我知道为 Linux 编译 Objective-C 本身不是问题,但我不明白的是 API 覆盖率。

据我所知,到目前为止,我可以使用 GNUStep 为 linux 进行编译,但有没有什么好方法可以让我大致了解 API 覆盖范围?我的意思是,如果我在 OSX Lion 中使用已添加到 Foundation 框架中的类,那么当时在 GNUStep 中不可用的风险有多大?

我希望我问的是你们能理解的问题,基本上我想避免编写一个理论上可以为 linux 编译的应用程序,但由于缺少类等原因,实际上并没有。

谢谢!

【问题讨论】:

    标签: objective-c linux macos cocoa gnustep


    【解决方案1】:

    意见:风险相当高。 GNU Step 是一个开源项目,它依赖于它的志愿者来保持更新。 OS X Lion 对 Foundation 和 AppKit 进行了少量添加。

    如果你将来想要它用于 *nix,你最好的选择是用通用 C/C++ 编写它,然后如果你想要一个 GUI,那么将它薄薄地包装在 NSTask 中。

    【讨论】:

      【解决方案2】:

      您应该能够通过咨询GNUStep base API docs 来检查您正在使用的 API 是否可用。

      如果兼容性是一个大问题,您可能希望将 GNUStep 作为您的基础。与以另一种方式移动代码相比,为 mac 编译应该相当简单。当然,您总是可以选择帮助补充 GNUStep 中缺少的任何东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多