dimanche 25 mai 2014

error when trying to compile SDL2 template project with android NDK


Vote count:

0




I'm asking for some help. I wanted to start developing for android using SDL. For that I have followed this tutorial. when the time of compiling with ndk-build came, me yields the following list of errors:



[armeabi] SharedLibrary : libSDL2.so /home/------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/audio/SDL_audio.o: in function bootstrap:SDL_audio.c(.data.rel.ro+0x0): error: undefined reference to 'DSP_bootstrap' /home/------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/audio/SDL_audio.o: in function bootstrap:SDL_audio.c(.data.rel.ro+0x4): error: undefined reference to 'DISKAUD_bootstrap' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativeResize:jni/SDL/src/core/android/SDL_android.c:148: error: undefined reference to 'Android_SetScreenResolution' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativePadDown:jni/SDL/src/core/android/SDL_android.c:156: error: undefined reference to 'Android_OnPadDown' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativePadUp:jni/SDL/src/core/android/SDL_android.c:164: error: undefined reference to 'Android_OnPadUp' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativeJoy:jni/SDL/src/core/android/SDL_android.c:172: error: undefined reference to 'Android_OnJoy' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativeHat:jni/SDL/src/core/android/SDL_android.c:180: error: undefined reference to 'Android_OnHat' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_nativeAddJoystick:jni/SDL/src/core/android/SDL_android.c:192: error: undefined reference to 'Android_AddJoystick' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_nativeRemoveJoystick:jni/SDL/src/core/android/SDL_android.c:202: error: undefined reference to 'Android_RemoveJoystick' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativeSurfaceDestroyed:jni/SDL/src/core/android/SDL_android.c:250: error: undefined reference to 'SDL_EGL_MakeCurrent' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativeSurfaceDestroyed:jni/SDL/src/core/android/SDL_android.c:251: error: undefined reference to 'SDL_EGL_DestroySurface' /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/core/android/SDL_android.o: in function Java_org_libsdl_app_SDLActivity_onNativeSurfaceDestroyed:jni/SDL/src/core/android/SDL_android.c:257: error: undefined reference to 'Android_Window' (...) /home/-------/Desarrollo/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: ./obj/local/armeabi/objs/SDL2/src/video/SDL_video.o: in function bootstrap:SDL_video.c(.data.rel.ro+0x4): error: undefined reference to 'DUMMY_bootstrap' collect2: ld returned 1 exit status make: * [obj/local/armeabi/libSDL2.so] Error 1



work with linux mint Cinnamon 16 Petra 64-bit, android-ndk. The Android.mk file in SDL directory is:



LOCAL_PATH := $(call my-dir)


#

#


#


#

include $(CLEAR_VARS)


LOCAL_MODULE := SDL2


LOCAL_C_INCLUDES := $(LOCAL_PATH)/include


LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)


LOCAL_SRC_FILES := \ $(subst $(LOCAL_PATH)/,, \ $(wildcard $(LOCAL_PATH)/src/.c) \ $(wildcard $(LOCAL_PATH)/src/audio/.c) \ $(wildcard $(LOCAL_PATH)/src/audio/android/.c) \ $(wildcard $(LOCAL_PATH)/src/audio/dummy/.c) \ $(LOCAL_PATH)/src/atomic/SDL_atomic.c \ $(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \ $(wildcard $(LOCAL_PATH)/src/core/android/.c) \ $(wildcard $(LOCAL_PATH)/src/cpuinfo/.c) \ $(wildcard $(LOCAL_PATH)/src/dynapi/.c) \ $(wildcard $(LOCAL_PATH)/src/events/.c) \ $(wildcard $(LOCAL_PATH)/src/file/.c) \ $(wildcard $(LOCAL_PATH)/src/haptic/.c) \ $(wildcard $(LOCAL_PATH)/src/haptic/dummy/.c) \ $(wildcard $(LOCAL_PATH)/src/joystick/.c) \ $(wildcard $(LOCAL_PATH)/src/joystick/android/.c) \ $(wildcard $(LOCAL_PATH)/src/loadso/dlopen/.c) \ $(wildcard $(LOCAL_PATH)/src/power/.c) \ $(wildcard $(LOCAL_PATH)/src/power/android/.c) \ $(wildcard $(LOCAL_PATH)/src/filesystem/dummy/.c) \ $(wildcard $(LOCAL_PATH)/src/render/.c) \ $(wildcard $(LOCAL_PATH)/src/render//.c) \ $(wildcard $(LOCAL_PATH)/src/stdlib/.c) \ $(wildcard $(LOCAL_PATH)/src/thread/.c) \ $(wildcard $(LOCAL_PATH)/src/thread/pthread/.c) \ $(wildcard $(LOCAL_PATH)/src/timer/.c) \ $(wildcard $(LOCAL_PATH)/src/timer/unix/.c) \ $(wildcard $(LOCAL_PATH)/src/video/.c) \ $(wildcard $(LOCAL_PATH)/src/video/android/.c) \ $(wildcard $(LOCAL_PATH)/src/test/.c))


LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid


include $(BUILD_SHARED_LIBRARY)


#

#


#


#

LOCAL_MODULE := SDL2_static


LOCAL_MODULE_FILENAME := libSDL2


LOCAL_SRC_FILES += $(LOCAL_PATH)/src/main/android/SDL_android_main.c


LOCAL_LDLIBS := LOCAL_EXPORT_LDLIBS := -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit -ldl -lGLESv1_CM -lGLESv2 -llog -landroid


include $(BUILD_STATIC_LIBRARY)



you excuse my English, but I'm using google translate (I can read, but I have trouble writing). In advance, thank you very much for any help



asked 37 secs ago






Aucun commentaire:

Enregistrer un commentaire