7

我知道 libobjc2 的存在,并且我认为我需要使用 clang 而不是 GCC,但是我找不到任何关于编译过程有什么不同的基本说明。

任何人都可以给出关于在 Ubuntu中获取、配置、编译和使用 GNUstep 和Objective-C 2.0 的明确的分步说明吗?

4

2 回答 2

2

由于已经引用了GNUStep ObjC2 FAQ ,我假设您已经看过了。然而,我想指出这一点:

对于目前仅在使用 Clang 编译时才支持的更高级功能,您将需要 GNUstep 运行时。目前还没有考虑到生产就绪。它应该可以作为 GCC 运行时的替代品,但一些高级功能没有经过充分测试。

常见问题解答还指出以下内容:

如果您使用最新版本的 GCC 来编译代码,那么您应该拥有编译器附带的 Objective-C 运行时库的副本。

如果您使用 -fobjc-nonfragile-abi 标志进行编译,那么您将使用新的 ABI。这仅受 GNUstep 运行时支持。这增加了:

  • 属性自省
  • 可选协议方法的自省
  • 非脆弱实例变量
  • 转发代理支持

因此,如果您正在通过 GCC 寻找较旧的功能,本教程将很好地完成这项工作,本教程也是如此。您已明确指出您希望使用 Clang 提供的功能(通过libobjc2)来执行此操作,该功能有自己的文档床。

获得 Clang 的发行版并进行设置似乎相当简单。LLVM Getting Started文档非常健壮(此处有完整的文档存档),它应该提供有关正确设置和编译后端的见解。可以在此处找到有关预期构建过程的一些其他见解。

然而,在撰写本文时,在 Clang 中编译 Objective-C 应用程序的文档似乎极少且未经测试。随着功能的推出和代码库的稳定,我想会有更多的用户文档上线。

于 2010-12-09T05:28:17.127 回答
-1

根据GNUstep Wiki,您只需要使用-fblocks和编译您的代码-fobjc-nonfragile-abi。然后,您只需在代码中使用语言功能。

于 2010-11-11T02:34:45.600 回答