Ich versuche, eine Boost-Bibliothek in meiner Android-Anwendung zu verwenden, mit dem NDK. Ich habe ein paar Erfolgsgeschichten gefunden here und here, aber ich kann nicht dasselbe über mich sagen. Ich versuche speziell, die Bibliothek in this link sowie die Boost-Thread-Bibliothek zu verwenden. Im folgenden Code versuche ich nur, die Thread-Bibliothek und nicht die Math-Bibliothek einzuschließen. Der Prozess, den ich verwendet habe, um die Boost-Bibliotheken zu erstellen, ist ziemlich genau der gleiche wie der erste Link, den ich angehängt habe.Android NDK: Einschließlich Boost C++ - Bibliothek
Bisher scheint es, ich erfolgreich die Boost-Bibliotheken gebaut haben, aber wenn ich ndk-build
laufen lasse, erhalte ich folgende Fehlermeldung:
Prebuilt : libboost_thread.a <= <NDK>/sources/
cp: omitting directory `path/to/ndk/sources/boost'
make: *** [obj/local/armeabi/libboost_thread.a] Error 1
Offensichtlich ist die cp: omitting directory...
ist nicht gerade ein Fehler auf. Aber das Einzige, was ich bekomme, ist die nächste Zeile, die eigentlich gar nichts bedeutet. Error 1
Hier ist meine Android.mk Datei:
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)
Und es gibt auch eine Android.mk Datei in 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)
Und meine bescheidene Application.mk Datei:
APP_ABI := armeabi armeabi-v7a
APP_STL := gnustl_static
APP_CPPFLAGS = -fexceptions
Ich baute die Boost-Bibliotheken mit bjam
. Alle libboost_###.a
Dateien befinden sich im Ordner sources/boost/android/lib
.
Was ist der Fehler, den ich bekomme?
Fast alle Informationen zur Installation, Kompilierung ist hier abgedeckt [Offizielle "Boost-Bibliothek" Support für Android und iOS? ] (http://stackoverflow.com/questions/14036311/official-boost-library-support-for-android-and-ios) – RDX