我想在我的android應用程序內使用NDK提升庫。我找到了幾個成功案例here和here,但我不能對我說同樣的話。我正在嘗試使用this link中的庫以及boost線程庫。在下面的代碼中,我只是試圖包含線程庫,而不是數學庫。我用來構建boost庫的過程與我附加的第一個鏈接非常相似。Android NDK:包括提升C++庫
到目前爲止,似乎我已經成功地構建了Boost庫,但是當我運行ndk-build
,我得到以下錯誤:
Prebuilt : libboost_thread.a <= <NDK>/sources/
cp: omitting directory `path/to/ndk/sources/boost'
make: *** [obj/local/armeabi/libboost_thread.a] Error 1
顯然cp: omitting directory...
不完全是一個錯誤。但除此之外,我唯一得到的是下一行,這並不意味着什麼。 Error 1
這是我的Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_LIBRARIES := boost_thread
LOCAL_LDLIBS := lboost_system-gcc-md lboost_thread-gcc-md -lgnustl_static
LOCAL_LDLIBS += lboost_system-gcc-md lboost_thread-gcc-md \
-L$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/libs/armeabi \
-lgnustl_static
LOCAL_SRC_FILES := #cpp_sources
LOCAL_MODULE := com_example_ndkFile_CppMethods
include $(BUILD_SHARED_LIBRARY)
$(call import-module,boost)
而且也有在path/to/ndk/sources/boost/
一個Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= boost_thread
LOCAL_SRC_FILES:= android/lib/libboost_thread.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_STATIC_LIBRARY)
而我卑微的Application.mk文件:
APP_ABI := armeabi armeabi-v7a
APP_STL := gnustl_static
APP_CPPFLAGS = -fexceptions
我使用bjam
構建了boost庫。所有libboost_###.a
文件位於sources/boost/android/lib
文件夾中。
我得到的錯誤是什麼?
幾乎所有關於安裝,編譯的信息都在這裏討論 [官方的「Boost library」支持Android和iOS? ](http://stackoverflow.com/questions/14036311/official-boost-library-support-for-android-and-ios) – RDX 2013-03-14 12:08:11