Objective c 如何将Obj-C2.0与GNUstep一起使用?

Objective c 如何将Obj-C2.0与GNUstep一起使用?,objective-c,ubuntu,makefile,gnustep,Objective C,Ubuntu,Makefile,Gnustep,我知道libobjc2的存在,我认为我需要使用clang而不是GCC,但是我找不到任何关于编译过程不同之处的基本指令 任何人都可以在Ubuntu中提供关于获取、配置、编译和使用GNUstep withObjective-C2.0的显式、分步说明吗?根据,您只需要使用-fblocks和-fobjc nonfragile abi编译代码。然后您只需在代码中使用语言功能。因为已经引用了,我假设您已经看过了。不过,我想指出: 对于更高级的功能,目前只有在使用Clang编译时才支持,您将需要GNUstep

我知道libobjc2的存在,我认为我需要使用clang而不是GCC,但是我找不到任何关于编译过程不同之处的基本指令

任何人都可以在Ubuntu中提供关于获取、配置、编译和使用GNUstep withObjective-C2.0的显式、分步说明吗?

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

因为已经引用了,我假设您已经看过了。不过,我想指出:

对于更高级的功能,目前只有在使用Clang编译时才支持,您将需要GNUstep运行时。这目前还不被视为生产就绪。它应该作为GCC运行时的替代品,但是一些高级特性没有经过很好的测试

还呼吁:

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

如果使用-fobjc nonfragile abi标志编译,则将使用新的abi。这仅在GNUstep运行时支持。这增加了:

  • 财产自省
  • 对任择议定书方法的反思
  • 非脆弱实例变量
  • 转发代理支持
因此,如果您正在通过GCC寻找较旧的功能,您会很好地完成这项工作,正如您明确指出您正在寻找使用Clang(通过libobjc2)提供的功能来完成这项工作一样,Clang有自己的文档库

看起来相当枯燥。该文档非常健壮(完整的文档归档),应该能够深入了解后端的设置和正确编译。可以找到对预期构建过程的一些其他见解


然而,在撰写本文时,在Clang中编译Objective-C应用程序的文档记录似乎极为不足,也未经过测试。随着功能的可用性和代码库的稳定,我想更多的用户文档将投入使用。

我相信这个过程要复杂得多。谷歌建议gnustepmake和gnustepbase必须在考虑libobjc2的情况下重新编译。谢谢你的回答。我现在已经成功地编译了libobjc2(奇怪的是,我必须从源代码处编译clang才能让libobjc2编译),甚至还成功地编译了gnustepbase并与libobjc2链接。不幸的是,任何使用NSObject(非常罕见;)都会导致segfault。我想GNUstep可能还没有准备好让普通人使用(尽管word是整个Etoilé项目开发团队都在成功地使用libobjc2;grr)。我仍然没有找到答案,但与此同时,我已经切换到Cocotron,Obj-C2.0在那里工作得非常好(以及我发现GNUstep中缺少的NSXMLDocument和其他一些东西)。当然,它需要从Mac交叉编译(