gcc -x target-c с Android SDK - PullRequest
       1

gcc -x target-c с Android SDK

5 голосов
/ 24 сентября 2010

Так как Objective-C существует и поддерживается даже в MinGW, передавая -x objective-c, есть ли способ добиться этого с помощью Android SDK? Я провел элементарный тест на компьютере коллеги, где выясняется, что язык objective-c не поддерживается.

Я не заинтересован в том, чтобы заставить работать UIKit, AppKit или даже Foundation; Я написал большую часть игры OpenGLES на Objective-C и успешно перенес ее на Mac OS X и Windows; Я вполне уверен, что смогу легко перенести его на GNU / Linux, как только у меня будет время, чтобы разобраться с достаточным количеством GNUStep (и даже без него я мог бы создать классы для запуска игры).

Меня просто интересует базовый язык и базовая среда выполнения (включая свойства, если это возможно); даже NSObject может быть легко написано настолько, насколько мне это нужно.


Тем временем мне удалось скомпилировать некоторый код Objective-C и написать для этого руководство:

Более подробно в моем ответе ниже.

Ответы [ 3 ]

2 голосов
/ 24 июля 2013

Платформа Apportable включает интеграцию компилятора Clang с Android NDK.Он также включает в себя множество других полезных функций, если вы хотите выйти за рамки базового языка Objective-C и поддержки времени выполнения.

1 голос
/ 18 октября 2010

Существует проект Google Code: http://code.google.com/p/android-gcc-objc2-0/ однако я еще не проверял его.

Кроме того, я спросил в списке рассылки Cocotron, можно ли использовать этот компилятор с Cocotron's Foundation и CoreFoundation;один человек ответил, что это не так, и что он работал над проблемой: http://groups.google.com/group/cocotron-dev/browse_thread/thread/448355f2a6c9c28e#


Тем временем мне удалось скомпилировать некоторый код Objective-C идля этого написано руководство:

* Разработка приложений Objective-C для Android с использованием Mac OS X


Clang isвключен в NDK в настоящее время, если это все, что вам нужно.

1 голос
/ 24 сентября 2010

Возможно, вам придется перекомпилировать исходники ndk gcc с включенной этой опцией.В крайнем случае вам может понадобиться найти код для этой опции в апстриме и добавить его в исходные тексты ndk gcc.

Портирование библиотек времени выполнения для работы поверх bionic вместо glibc может быть более интересным.

Обратите внимание, что android на самом деле не очень хорошо обрабатывает чистые нативные двоичные файлы, вам нужно будет либо вызвать библиотеку jni из приложения-оболочки java, которую вам придется вызывать обратно для аудио, либо разветвлять и выполнять exec'dот одного (не рекомендуется, оставляя вас в зависимости от устройства хаки для аудио).

...