При попытке выполнить сборку NDK я получаю следующие ошибки. Может кто-нибудь мне помочь, пожалуйста?
Я сделал инструкцию по настройке точно так же, как написано в «Начало разработки игр для Android C ++». каждый шаг, кроме 9-го:
«Щелкните узел NativeActivity в окне« Узлы приложения »и еще раз нажмите кнопку« Добавить ». Введите имя как android.app.lib_name и значение в качестве имени LOCAL_MODULE, которое можно найти в файле Android.mk в папке jni проекта».
Ошибки:
10:44:23 ** Инкрементная сборка конфигурации по умолчанию для проекта
HelloDroid ** «C: \ ndk \ ndk-build.cmd» для всех Android NDK:
ВНИМАНИЕ: jni / Android.mk: HelloDroid-Test: несистемные библиотеки в компоновщике
флаги: -LGLESv Android NDK: это может привести к
неправильные сборки. Попробуйте использовать LOCAL_STATIC_LIBRARIES Android NDK:
или LOCAL_SHARED_LIBRARIES вместо списка библиотечных зависимостей
Android NDK: текущий модуль [armeabi] SharedLibrary:
libHelloDroid-Test.so
С: /ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin /../ Библиотека / GCC / ARM-Linux-androideabi / 4,6 /../../../../ рука-линукс-androideabi / бен / ld.exe:
ошибка: не могу найти -lGLESv collect2: ld вернул 1 состояние выхода
make.exe: * [obj / local / armeabi / libHelloDroid-Test.so] Ошибка 110:44:23 Сборка завершена (заняло 226 мс)
Я нашел проблему.
Мне просто нужно отредактировать Android.mk
теперь это выглядит так:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hellodroid
LOCAL_SRC_FILES := hellodroid.cpp
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2
LOCAL_STATIC_LIBRARIES := android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module, android/native_app_glue)
Как говорится в ошибке, нет библиотеки GLESv
,
Какую версию OpenGL ES вы используете, 1 или 2?
Флаги компоновщика -lGLESv1_CM
а также -lGLESv2
соответственно.