CROSS-COMPILE ДЛЯ MIPS ПРОЦЕССОРА - PullRequest
2 голосов
/ 12 марта 2012

Я разработал приложение для платформы Android. Он предназначен для процессора ARM. Работает нормально. Я хочу попробовать то же приложение на Android, работающее на процессоре MIPS (32-разрядный). Я пытался кросс-компилировать приложение, но не смогЯ не использую разделяемую библиотеку. Я использую исходный код MIPS ndk и android, настроенный для процессора MIPS. При создании статической библиотеки не отображаются ошибки, но при создании разделяемой библиотеки я получаю следующие ошибки:

/home/user/android-ndk-r7m/toolchains/mips-linux-android-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/mips-linux-android/4.4.3/ ../../../../mips-linux-android/bin/ld: /home/user/workspace/testing/ccl_obj/libccl.a(teccl_call_initiate.o): перемещение R_MIPS_HI16 против `__gnu_local_gp 'не может быть использованопри создании общего объекта;перекомпилировать с -fPIC /home/user/workspace/testing/ccl_obj/libccl.a: не удалось прочитать символы: неверное значение collect2: ld вернул 1 состояние выхода make: * [obj / local / mips-r2/libhello-jni.so] Ошибка 1

Пожалуйста, предложите любое решение.

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 мая 2016

На всякий случай, если кто-то столкнется с этой проблемой. Выполните

make clean 
make

У меня возникла похожая проблема сегодня, и запуск программы clean решил мою проблему.

0 голосов
/ 12 марта 2012

Ошибка, кажется, подсказывает, что делать.

При компиляции исходного кода добавьте флаг компилятора -fPIC.

...