0
我编译红袜等与NDK。所以,我拥有所有Android友好的共享库。的Android NDK连接问题
我做了一个simple test file它调用一个函数SOX。 NDK构建告诉我:
undefined reference to `sox_open_read'
sox_open_read在sox.h.定义我知道这是发现sox.h,因为它给了我一个关于该文件警告:
In file included from (...)/sox/sox.h:19
所以,或许是要在实际libsox.so sox_open_read找到。那么,我已经尝试了大约100种不同的方式来告诉它sox共享库在哪里 - 我要动态链接
#LOCAL_SHARED_LIBRARY := sox
LOCAL_STATIC_LIBRARIES := sox
LOCAL_LDLIBS := -L$(LOCAL_PATH_FULL)/jni/libs/libsox.so
这是我的理解,我不想staticly链接到SOX LIB:
LOCAL_SHARED_LIBRARY := sox
LOCAL_LDLIBS := -L$(LOCAL_PATH_FULL)/jni/libs/libsox.so
但是,如果我指定红袜作为静态库它将工作到它。
感谢您的帮助。然而,这不是问题。我已经定义的所有库作为预建这样的:http://pastebin.com/de0u99tu – Matt 2011-12-23 16:39:34
我认为[这](http://stackoverflow.com/questions/3549432/preventing-functions-from-being从静态库中提取 - 何时链接)可能是您的问题。在libsox构建过程中,您尝试从libsox中使用的函数可能会被剥离。你可以使用nm命令来检查它。 – vassilij 2011-12-24 18:31:52