⑴ Android NDK編譯如何強制使用libc++.a的靜態鏈接庫
在編譯命令行中,將使用的靜態庫文件放在源文件後面就可以了。比如: gcc -L/usr/lib myprop.c libtest.a libX11.a libpthread.a -o myprop 其中-L/usr/lib指定庫文件的查找路徑,編譯器默認在當前目錄下先查找指定的庫文件。
⑵ NDK下如何使用第三方靜態庫
0. NDK開發的話, 默認目錄就是 $YOUR_PROJECT/jni1. .h & .a 是必須的2. 新建Android.mk, Application.mk是可選的3. 編輯jni目錄Android.mk, 引入.h 和 .a注:LOCAL_C_INCLUDES - 附加頭文件目錄LOCAL_STATIC_LIBRARIES - 本機編譯的靜態庫文件(引用的是$YOUR_PROJECT/libs下的庫文件)LOCAL_LDLIBS - 附加系統庫文件, 可以通過-L來指定附加目錄注2:LOCAL_STATIC_LIBRARIES & LOCAL_LDLIBS 引用靜態庫文件時, 需要注意庫文件名的寫法.LOCAL_STATIC_LIBRARIES 需要寫完整的名字, 如libeoe(必須在編譯時, 拷貝到$YOUR_PROJECT/libs, 可以通過預定義的宏, 也可以通過在.mk里調用shell)LOCAL_LDLIBS 則只需要寫 -leoe (若libeoe所在目錄被-L附加到系統庫文件目錄)