Je suis confronté à un problème et j'aimerais savoir pourquoi cela se produit.Problème lors de la compilation du code android-ndk
J'ai un projet qui se compose d'un fichier Java
et de quelques fichiers de code JNI & C++
. Je construis le code JNI and C++
par cygwin
qui fait partie de android ndk-tools. Ci-dessous mon fichier Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cube
LOCAL_CFLAGS := -DANDROID_NDK
LOCAL_SRC_FILES := Testing.cpp
LOCAL_LDLIBS := -lGLESv1_CM
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := jni_opengl
LOCAL_SRC_FILES := jni_openglcube.cpp
LOCAL_SHARED_LIBRARIES := cube
include $(BUILD_SHARED_LIBRARY)
Dans le module script ci-dessus cube
est écrit dans la norme C++
qui font des choses opengl
et jni_opengl
est écrit en JNI
. Au-dessus du script se compile bien mais quand je change la ligne 8 include $(BUILD_SHARED_LIBRARY)
à include $(BUILD_STATIC_LIBRARY)
Je commence à recevoir l'erreur concernant des méthodes opengl non trouvées dans Testing.cpp
.
Ma question est pourquoi dans le cas de shared library
, android peut trouver les références de opengl
méthode liée et pourquoi pas quand je le change en static library
?