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