Ошибка компоновщика AndEngine Android-Studio во время сборки

#android #android-studio #andengine #linker-errors

#Android #android-studio #andengine #компоновщик-ошибки

Вопрос:

Я взял исходный код AndEngine из их репозитория git, загрузил свежую AndroidStudio, sdk и ndk, импортировал его и попытался создать простую новую пустую GameActivity, расширяющую базовую GameActivity.

Но я не смог ее запустить, потому что получаю следующие ошибки:

 /home/uhu/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/uhu/AndroidStudioProjects/aaa/andEngine/build/intermediates/ndk/release/obj/local/armeabi-v7a/objs/andengine_shared//home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.o: in function Java_org_andengine_opengl_GLES20Fix_glVertexAttribPointer:/home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.c:9: error: undefined reference to 'glVertexAttribPointer'

/home/uhu/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/uhu/AndroidStudioProjects/aaa/andEngine/build/intermediates/ndk/release/obj/local/armeabi-v7a/objs/andengine_shared//home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.o: in function Java_org_andengine_opengl_GLES20Fix_glDrawElements:/home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.c:13: error: undefined reference to 'glDrawElements'

Error:Execution failed for task ':andEngine:compileReleaseNdk'.
  

com.android.ide.common.internal.Исключение LoggedErrorException: не удалось запустить команду:
/home/uhu/android-ndk-r9d/ndk-build NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/home/uhu/AndroidStudioProjects/aaa/andEngine/build/intermediates/ndk/release/Android. mk APP_PLATFORM= android-15 NDK_OUT=/home/uhu/AndroidStudioProjects/aaa/AndEngine/build/промежуточные /ndk/ release/obj NDK_LIBS_OUT=/home/uhu/AndroidStudioProjects/aaa / AndEngine/build/ промежуточные / ndk /release /библиотека APP_ABI= все
Код ошибки:
2
Вывод:
/home/uhu/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld : /home/uhu/AndroidStudioProjects/aaa/andEngine/build/intermediates/ndk/release/obj/local/armeabi-v7a/objs/andengine_shared//home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.o: в функции Java_org_andengine_opengl_GLES20Fix_glVertexAttribPointer:/home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.c:9 : ошибка: неопределенная ссылка на ‘glVertexAttribPointer’
/home/uhu/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld : /home/uhu/AndroidStudioProjects/aaa/andEngine/build/intermediates/ndk/release/obj/local/armeabi-v7a/objs/andengine_shared//home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.o: в функции Java_org_andengine_opengl_GLES20Fix_glDrawElements:/home/uhu/AndroidStudioProjects/aaa/andEngine/src/main/jni/src/GLES20Fix.c:13 : ошибка: неопределенная ссылка на ‘glDrawElements’
collect2: ld вернул статус выхода 1
создайте: * [/home/uhu/AndroidStudioProjects/aaa/andEngine/build/intermediates/ndk/release/obj/local/armeabi-v7a/libandengine_shared.so ] Ошибка 1

Кто-нибудь знает, как это исправить? Или, если я просто использую неправильные инструменты, что вы можете порекомендовать?

Комментарии:

1. Я также хотел бы знать ответ. ndk-build выполняется, хотя только после указания APP_PLATFORM:= android-xx в Application.mk . Но не повезло со сборкой gradlew.

Ответ №1:

Мне удалось скомпилировать мой проект. Мне кажется, проблема в том, что AS и ndk пока плохо работают вместе. В любом случае проверьте мой блог о настройке проекта:-

КАК и настройка AndEngine

Комментарии:

1. Что означает последний шаг, пожалуйста, не могли бы вы уточнить. Спасибо

2. Я пытался следовать этому, но в нем не было достаточно подробностей о том, как правильно импортировать различные проекты в И. Студия. Я предполагаю, что сообщение предполагает, что кто-то знает, как правильно настроить зависимости проектов там ..? Учитывая, что эта настройка нетривиальна, было бы неплохо иметь все детали для кого-то вроде меня, кто выполняет такого рода настройку впервые. Спасибо, что хоть что-то начали

Ответ №2:

Кажется, проще использовать официальную версию intellij вместо android studio. И поскольку оба они очень похожи в использовании, это не имеет особого значения. Вместе с некоторыми подсказками по сборке ndk из ответа lakshman5876, это, наконец, сработало очень хорошо. Спасибо http://www.jetbrains.com/idea /