Не могу запустить пример приложения Родос - PullRequest
3 голосов
/ 13 сентября 2011

Я установил Android SDK версии и Андорид НДК. Используя Android SDK и AVD Manager, я установил SDK Plaform для Android 2.2, API8, rev3 и 1.6, API4, revsion3

Когда я пытаюсь запустить rake: android Я получил сообщение об ошибке

D:/Android_ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-android
eabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: crtbegin_so.o: No such file: No such file or directory
collect2: ld returned 1 exit status 

Любое предложение будет полезно

Ответы [ 3 ]

10 голосов
/ 14 сентября 2011

Кажется, что есть ошибка в 6b версии NDK. Вернитесь к версии 6 (версия для Mac здесь http://dl.google.com/android/ndk/android-ndk-r6-darwin-x86.tar.bz2,, Windows и Linux будут похожи). Распакуйте его, положите куда-нибудь, затем запустите утилиту rhodes-setup и скажите, где находится новый NDK - вы должны хорошо идти.

2 голосов
/ 24 апреля 2012

Проблема возникает и в NDK r7c (linux).

Я обнаружил, что цепочка инструментов игнорирует местоположение платформы ($ NDK_ROOT / platform / android-8 / arch-arm / usr / lib /) и ищет его в пути цепочки инструментов, что неверно.

Однако, поскольку цепочка инструментов также ищет файл в текущем каталоге, одним из решений является привязка правильной платформы crtbegin_so.o и crtend_so.o к исходному каталогу:

cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtbegin_so.a

cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtend_so.a

ПРИМЕЧАНИЕ 1: Этот ответ не относится к родосу

ПРИМЕЧАНИЕ 2: Предполагается, что код компилируется для API8 (Android 2.2). Пожалуйста, измените путь к правильной платформе согласно вашему требованию.

ПРИМЕЧАНИЕ 3: Настройка используемых флагов:

./configure \
--host=arm-linux-androideabi \
CC=arm-linux-androideabi-gcc \
CPPFLAGS="-I$NDK_ROOT/platforms/android-8/arch-arm/usr/include/" \
CFLAGS="-nostdlib" \
LDFLAGS="-Wl,-rpath-link=$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/ -L$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/" \
LIBS="-lc"
0 голосов
/ 13 сентября 2011

Не уверен, что я указываю вам в правильном направлении, но, похоже, ваше приложение Rhodes ищет такие файлы, как SDK и AVD, и не может их найти.

Во-первых, убедитесь, что build.yml в вашем проекте указывает на вашу папку Rhodes. В файле sample-api этот параметр по умолчанию не установлен правильно.

Кроме того, в папке Rhodes убедитесь, что rhobuild.yml имеет правильное расположение для вашего SDK и AVD. В этой папке также есть пример, показывающий, как он должен выглядеть.

Если это не поможет, я бы посоветовал вам показать больше следов, которые приводят к этой ошибке. Любая дополнительная информация приветствуется, так как с тем, что вы дали, не так много работы.

...