Referencias indefinidas enlazan una biblioteca compartida pre-construida en Android con NDK

Tengo un libray compartido pre-construido llamado "tshark.so" que estoy intentando ligar cada vez que construyo otra biblioteca compartida (libwireshark_helper.so). Libtshark.so está en $ (LOCAL_PATH). Aquí está mi Android.mk

LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) NDK_MODULE_PATH := $(LOCAL_PATH) LOCAL_SRC_FILES:= wireshark_helper.c LOCAL_MODULE := libwireshark_helper LOCAL_PREBUILT_LIBS := libtshark.so LOCAL_C_INCLUDES += jni/libusb-compat/libusb jni/wispy jni/libpcap jni/libwireshark jni/libglib jni/libglib/glib jni/libglib/android jni/libwireshark/epan jni/libwireshark/epan/dissectors LOCAL_SHARED_LIBRARIES := libc libusb libusb-compat libwispy libpcap libglib-2.0 libgmodule-2.0 libnl libtshark LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -L$(LOCAL_PATH) -llog -ltshark -lgcc -lz include $(BUILD_SHARED_LIBRARY) 

Por ejemplo, la biblioteca 'tshark' contiene el método 'tshark_log_handler' que se muestra aquí:

 $ arm-eabi-nm libtshark.so | grep tshark_log_handler 005d298c t tshark_log_handler 

Sin embargo, cuando intento construir, consigo el error:

 SharedLibrary : libwireshark_helper.so /Users/gnychis/Documents/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-g++ -Wl,-soname,libwireshark_helper.so -shared --sysroot=/Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/objs-debug/wireshark_helper/wireshark_helper.o /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libusb.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libusb-compat.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libwispy.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libpcap.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libglib-2.0.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libgmodule-2.0.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libnl.so /Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib/libc.so /Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib/libstdc++.so /Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib/libm.so -Wl,--no-undefined -Wl,-z,noexecstack -L/Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib -L/Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib -L/Users/gnychis/Documents/workspace/CoexiSyst/jni/libwireshark -llog -ltshark -lgcc -lz -Wl,-rpath-link=/Users/gnychis/Documents/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib -lsupc++ -o /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/libwireshark_helper.so /Users/gnychis/Documents/workspace/CoexiSyst/obj/local/armeabi/objs-debug/wireshark_helper/wireshark_helper.o: In function `Java_com_gnychis_coexisyst_CoexiSyst_wiresharkHello': /Users/gnychis/Documents/workspace/CoexiSyst/jni/libwireshark/wireshark_helper.c:124: undefined reference to `tshark_log_handler' 

¿Por qué debo obtener una referencia indefinida? Está en mi biblioteca compartida, y hay un "-ltshark" en mi comando gcc. No consigo un error que no puede encontrar esta biblioteca.

El tipo de símbolo "t" de nm significa que el símbolo está en la biblioteca pero no es global. Las funciones globales se muestran como el tipo de símbolo "T". En otras palabras, la función se declaró con la palabra clave "estática", y no se puede utilizar en su código.

  • Android - ¿Cómo cargar la biblioteca compartida?
  • ¿Cómo crear su propia biblioteca para el desarrollo de Android que se utilizará en cada programa que escriba?
  • Buena idea para incluir archivos JAR en la biblioteca de Android (conflicto potencial con otras bibliotecas)?
  • ¿Cómo construir OpenSSL como biblioteca compartida no versionada para Android?
  • Agregar una lib nativa a un APK
  • Android ndk UnsatisfiedLinkError al usar una biblioteca compartida precompuesta
  • Eclipse "\ Android Private Libraries" vs "\ Referenced Libraries"
  • Phonegap 3.3 Eclipse: Proyecto -CordovaLib falta las propiedades de Android
  • Dalvik auto-compilado no carga bibliotecas compartidas
  • Cómo usar una biblioteca compartida en la actividad nativa
  • Android, la mejor manera de proporcionar constantes específicas de la aplicación en un proyecto de biblioteca?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.