Я пытаюсь использовать библиотеку boost внутри моего приложения для Android, используя NDK. Я нашел пару успешных историй здесь и здесь, но я могу "Я говорю обо мне так же. Я специально пытаюсь использовать библиотеку в эту ссылку, а также библиотеку ускорения потоков. В приведенном ниже коде я просто пытаюсь включить библиотеку потоков, а не математическую библиотеку. Процесс, который я использовал для создания библиотек boost, почти так же, как и первая ссылка, которую я прикреплял.
До сих пор, похоже, я успешно создал библиотеки 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
Я построил библиотеки boost, используя bjam
. Все файлы libboost_###.a
находятся в папке sources/boost/android/lib
.
Какая ошибка я получаю?