NDKを使用して、アンドロイドアプリケーション内でブーストライブラリを使用しようとしています。私は成功例のいくつかを見つけましたhereとhere、私は私について同じことを言うことはできません。私は具体的にはthis linkでライブラリを使用しようとしているだけでなく、ブーストスレッドライブラリも使用しています。以下のコードでは、数学ライブラリではなく、スレッドライブラリのみをインクルードしようとしています。私がブーストライブラリを構築するのに使用したプロセスは、私が付けた最初のリンクとほとんど同じです。Android NDK:boost 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)
そして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
フォルダにあります。
エラーはどうなりますか?
インストールに関するほぼすべての情報はここにあります [公式の "Boost library"のAndroidとiOSのサポート? ](http://stackoverflow.com/questions/14036311/official-boost-library-support-for-android-and-ios) – RDX