Recently upgraded to NDK r5b, and the build fails with "undefined reference" to functions located in a static library.
Here is the error
/home/brian/workspace/VoiceEngineDemo/obj/local/armeabi-v7a/objs-debug/voiceenginejni/voice_engine_jni.o: In function `initVE':
/home/brian/workspace/VoiceEngineDemo/jni/voice_engine_jni.c:944: undefined reference to `VE_ADT_create'
It seem the link process is not loading the static module even though it is defined in the Android.mk as follows:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := voiceenginejni
LOCAL_SRC_FILES := voice_engine_jni.c printing.c jaudio.c etime.c
LOCAL_CFLAGS := -D __arm -D ANDROID -D USE_AEC_DEFAULTS -D USE_EC_DEFAULTS -D _DEBUG -D EC_VARIANT=EC_VARIANT_NEC -D AECG1_5_ENABLE
LOCAL_STATIC_LIBRARIES := libvoiceengine libcpufeatures libaecg2
LOCAL_LDLIBS := -llog -ldl
include $(BUILD_SHARED_LIBRARY)
$(call import-module,cpufeatures)
The VE_ADT_create function is located in libvoiceengine.a, which has been placed in the /obj/local/armeabi-v7a/ directory.
I'd appreciate it if anyone can shed some light on this for me. Thanks!