【问题标题】:Linux Clang and Objective-C base libraryLinux Clang 和 Objective-C 基础库
【发布时间】:2011-06-17 21:46:39
【问题描述】:

我一直在 Ubuntu 系统上使用 GCC + GNUstep 试验 Objective-C。

现在关于 LLVM Clang 编译器,它提供了什么样的 *step 库?它在 Apple Cocoa 上使用 GNUstep 吗?我最感兴趣的是基础库 - 集合、流等。该网站没有提供太多信息。

【问题讨论】:

    标签: objective-c clang gnustep


    【解决方案1】:

    就像 MKroehnert 和 Puzzle 所说,LLVM Clang 和 GCC 实际上都没有附带一套框架。 GCC 只附带一个小型运行时,不提供NSArrayNSString,甚至不提供NSObject

    框架由以下机构提供,例如:

    ObjFW 是其中最轻的,但在任何 UNIX 上,我建议您使用 GNUstep 路线。

    【讨论】:

      【解决方案2】:

      LLVM Clang 是一个编译器。它完全独立于 OS X / iOS 或任何其他框架或平台上的 Cocoa / Cocoa Touch 框架。

      【讨论】:

        【解决方案3】:

        就像his answer中说的puzzle 一样,clang 是一个类似gcc 的编译器。 在 linux 上,您还可以使用 clang 而不是 gcc 以及 GNUstep 库(提供您所询问的 NS* 类)。

        如需了解更多信息,请参阅 GNUstep Objc2 FAQthis blogpost

        【讨论】:

        • 谢谢,那篇博文很有帮助。我不确定基础框架(NS* 类)是否依赖于语言运行时实现。由于 GNUstep 和 GCC 都是 GNU,而且直到最近还没有其他适用于 linux 的 ObjC 编译器,我认为它们之间可能存在一些强耦合。
        【解决方案4】:

        正如其他人所说,LLVM Clang 只是一个编译器。但是您可以使用 Clang、现代 GNUstep Objective-C 2.0 运行时和 GNUstep 本身在 Ubuntu 上拥有 Objective-C 2.0 的所有现代特性。在此处查看操作方法:

        http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux

        该页面由 GNUstep 开发人员维护,包含 bash 脚本,用于使用 Clang 和 GNUstep Objective-C 运行时从头开始为不同版本的 Ubuntu-Linux 编译和安装 Objective-C 2.0 所需的一切,可以在这里找到:https://github.com/gnustep/libobjc2。将这些冗长的脚本复制到 Stackoverflow 是没有实际意义的,因为它们迟早会过时。因此,请点击该链接以获取第一手资料。

        【讨论】:

          猜你喜欢
          • 2010-11-13
          • 1970-01-01
          • 2018-03-26
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多