2010-09-24 58 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語言和運行時支持,它還包含一些其他有用的功能。