我複製到libsonivox.so /平臺/ Android的14 /弓臂/ usr/lib目錄/,我android.mk文件是:鏈接沒有發現
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := midi
LOCAL_SRC_FILES := midi.c
LOCAL_LDLIBS += -lsonivox
include $(BUILD_SHARED_LIBRARY)
但是當我運行ndk-建立我得到這個錯誤:
/home/sebastian/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lsonivox
任何想法我做錯了什麼?謝謝!
PS:這可能看起來像一個DUP職位,但我閱讀有關此主題的所有其他職位,他們沒有幫助
是你拉你的平臺庫的目錄嗎?你確定?絕對路徑「/ platforms」似乎不符合你的ndk安裝本身的路徑「/ home/sebastian/ndk」。如何使用-L標誌來指定可以找到它的目錄。爲什麼不把它放在你的項目目錄中,而不是用自定義文件污染ndk安裝? –
對於我所瞭解的(這並不多,我剛剛學習NDK)libsonivox.so已經在系統目錄中的所有設備中,因此Android.mk正在嘗試創建該文件的鏈接。我正在關注一個我在網上找到的例子,它與我想要的ndk類似。 我錯過了一部分路徑,/平臺是在ndk目錄內 – sebgar
是libsonivox認爲公共API還是私有?如果私有(如在設備上,但在ndk發行版中沒有匹配的.a文件),請記住,強烈建議您不要嘗試使用它,因爲它的詳細信息可能會在不通知設備或構建的情況下更改建立。 –