我正面临一个问题,并想知道为什么会发生这种情况。编译android-ndk代码时出现问题
我有它由一个Java
文件和一些JNI & C++
代码文件的项目。我正在通过cygwin
构建JNI and C++
代码,它是android ndk-tools的一部分。下面是我的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)
在上面的脚本cube
模块是写在标准C++
其中做一些opengl
东西,jni_opengl
写在JNI
。上面的脚本编译得很好,但是当我将第8行include $(BUILD_SHARED_LIBRARY)
更改为include $(BUILD_STATIC_LIBRARY)
时,我开始在Testing.cpp
中找不到有关opengl方法的错误。
我的问题是为什么在shared library
的情况下,android能够找到opengl
相关方法的参考,为什么不把它改为static library
?