私はNDKでSoxらを編集しました。だから、私はすべてのAndroidに優しい共有ライブラリを持っています。Android NDKリンクの問題
sox関数を呼び出すsimple test fileを作成しました。 NDKビルドが私に語った:
undefined reference to `sox_open_read'
sox_open_readはsox.h.で定義されていますだから、多分それは実際libsox.soにsox_open_read見つけたい
In file included from (...)/sox/sox.h:19
:私はそれは私にそのファイルに関する警告を与えるので、それはsox.h探しています知っています。さて、ソックスの共有ライブラリがどこにあるかを教えるために100種類の方法を試しました。
LOCAL_SHARED_LIBRARY := sox
LOCAL_LDLIBS := -L$(LOCAL_PATH_FULL)/jni/libs/libsox.so
私は静的ライブラリとしてソックスを指定した場合しかし、それは動作します:
#LOCAL_SHARED_LIBRARY := sox
LOCAL_STATIC_LIBRARIES := sox
LOCAL_LDLIBS := -L$(LOCAL_PATH_FULL)/jni/libs/libsox.so
それは私がSOXのlibへのリンクを静的にしたくない私の理解だ - 私は動的にリンクしたいですそれに。
ありがとうございました。しかし、これは問題ではありません。私はすでにすべてのlibsをこのように事前構築されたものとして定義しました:http://pastebin.com/de0u99tu – Matt
私は[this](http://stackoverflow.com/questions/3549432/preventing-functions-from-being静的ライブラリからストリップされたライブラリの場合)が問題になる可能性があります。 libsoxから使用しようとしている関数は、libsoxのビルド中に削除される可能性があります。 nmコマンドを使用して確認できます。 – vassilij