2010-09-24 67 views
5

既然Objective-C存在并且即使在MinGW中也通过传递-x objective-c来支持,那么在Android SDK中实现这一目标会有什么破绽?我在同事的机器上做了一个基本的测试,看起来不支持objective-c语言。gcc -x objective-c与Android SDK

我对获取UIKit或AppKit甚至基金会没有兴趣工作;我在Objective-C中编写了大部分OpenGLES游戏,并成功将它移植到Mac OS X和Windows;一旦我有足够的时间来弄清楚GNUStep(甚至没有它,我可以创建类来让游戏运行),我相当肯定我可以轻松地将它移植到GNU/Linux。我只是对基础语言和基本运行时(包括属性,如果可能的话)感兴趣;即使NSObject可以很容易地写在我所需要的程度。


在此期间,我已经成功地编译一些Objective-C代码,并写了这个指南:

有更多的细节我回答如下。

+0

呵呵,我喜欢有人低估这个问题的可能性,因为热心,而不是因为它不感兴趣:) – 2010-12-28 13:19:23

+0

在那里,我赞成,因为它直接适用于我希望在NDK中获得GDC,D语言编译器支持的愿望。 – dwerner 2011-07-19 21:29:50

回答

1

您可能必须在启用该选项的情况下重新编译ndk gcc的源代码。在极端情况下,您可能需要为上游的该选项找到代码并将其添加到ndk gcc的源代码中。

将运行时库移植到仿生而不是glibc上可能会更有趣。

请注意,android并没有真正处理纯本机二进制文件,您将需要从java包装应用程序中调用jni库,您将不得不通过音频或分支执行回调操作关闭一个(不推荐,并留下你依赖于设备的黑客音频)。

+0

这对我来说太深入了。我从不喜欢重新编译GCC。但是,如果你从我的知识渊博的人那里得到一些赞扬,我会接受。 – 2010-09-25 17:46:42

1

有这个Google Code项目:http://code.google.com/p/android-gcc-objc2-0/但是我还没有测试过它。

此外,我曾询问过Cocotron邮件列表,该编译器是否可用于Cocotron的Foundation和CoreFoundation;一个人回应说不是,他已经对这个问题的工作:http://groups.google.com/group/cocotron-dev/browse_thread/thread/448355f2a6c9c28e#


在此期间,我已经成功地编译一些Objective-C代码,并写了这个指南:

* Developing Objective-C apps for Android using Mac OS X


锵包括在NDK现在,如果这就是你所需要的。

+0

链接似乎已中断。 – 2012-05-06 20:01:17

+0

@jeffamaphone谢谢,我对服务器进行了升级,我从未检查过Wordpress插件与PHP 5.4冲突。 – 2012-05-08 10:43:23

+1

不错的文档。此工具链中还有这个NDK版本的GCC 4.6.3:http://www.crystax.net/en/android/ndk – 2012-05-08 15:54:47

2

Apportable platform包含与Android NDK的Clang编译器集成。如果您想超越基本的Objective-C语言和运行时支持,它还包含一些其他有用的功能。