27

NDK を使用して、Android アプリケーション内でブースト ライブラリを使用しようとしています。私はここここでいくつかのサクセスストーリーを見つけましたが、私については同じことは言えません. 私は特に、このリンクのライブラリとブースト スレッド ライブラリを使用しようとしています。以下のコードでは、数学ライブラリではなく、スレッド ライブラリのみを含めようとしています。ブースト ライブラリをビルドするために使用したプロセスは、添付した最初のリンクとほぼ同じです。

これまでのところ、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) 

また、次の場所に Android.mk ファイルもありますpath/to/ndk/sources/boost/

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。すべてのlibboost_###.aファイルはsources/boost/android/libフォルダーにあります。

私が得ているエラーは何ですか?

4

2 に答える 2