Cómo portar la biblioteca boost a Android
El proceso principal se registra a continuación:
1. Descargue el código fuente de boost:
Boost para Android
Boost para Android. Sí. Un conjunto de herramientas para compilar la parte principal de la biblioteca Boost C para la plataforma Android.
Las versiones boost actualmente admitidas son 1.45.0, 1.48.0 y 1.49.0.
Las versiones boost actualmente admitidas son 1.45.0, 1.48.0 y 1.49.0.
Descargue la última versión 1.49 y parcheela cuando haya terminado
2.
2. Descargue el código del parche
boost-1_49_0
3. Parche el código
boost_1_49_0.tar.bz2 y póngalo. en Android El directorio externo y descomprimirlo:
tar -xjvf external/boost_1_49 _0.tar.bz2
Coloque boost-1_49_0.patch en el directorio raíz en external\boost_1_49_0, luego ejecutar:
parche -Np1 -d external/boost_1_49_0 lt; external/boost_1_49_0/boost-1_49_0/boost-1_49_0/boost-1_49_0.tar.bz2 0/boost-1_49_0.patch
4. Escribe el archivo MAKE Android.mk para impulsar
LOCAL_PATH:= $(call my-dir)
common_SRC_FILES:= \
libs/ thread. /src/pthread/thread.cpp (
libs/thread/src/pthread/once.cpp) (
common_SRC_FILES = (
libs/filesystem / v3/src/ codecvt_error_category.cpp \
libs/filesystem/v3/src/operaciones.cpp \
libs/filesystem/v3/src/path.cpp \
libs/ filesystem/v3/src/path_traits.cpp \
libs/filesystem/v3/src/portability.cpp \
libs/filesystem/v3/src/ utf8_codecvt_facet .cpp \
libs/system/src/error_code.cpp\
libs/system/src/local_free_on_destruction\
incluye $(CLEAR_VARS) p >
LOCAL _MODULE := libboost
LOCAL_SRC_FILES := $(common_SRC_FILES)
prebuilt_stdcxx_PATH := prebuilts/ndk/current/sources/cxx-stl/gnu -libstdc < / p>
LOCAL_C_INCLUDES:=\
$(LOCAL_PATH)/boost\
$(prebuilt_stdcxx_PATH)/include\
$(prebuilt_stdcxx_ PATH) / libs/$(TARGET_CPU_ABI)/include/ \
LOCAL_C_INCLUDES =\
$(prebuilt_stdcxx_PATH)/include \
$(prebuilt_stdcxx_
PATH)/libs/$(TARGET_CPU_ABI)/include/ \
$(prebuilt_supccxx_PATH)/include
LOCAL_CFLAGS = -fvisibility=hidden -lpthread
LOCAL_CPPFLAGS = -fexceptions -frtti
LOCAL_SHARED_LIBRARIES := libc libstdc libstlport
LOCAL_LDFLAGS = -L$(prebuilt_ stdcxx_PATH)/libs/$(TARGET_CPU_ABI) -lgnustl_static -lsupc
LOCAL_MODULE_TAGS:= opcional
incluye $(BUILD_SHARED_LIBRARY)
La parte más importante es el texto rojo de arriba
La compilación final genera:
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/thread/src/pthread/thread.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/thread/src/ pthread/once.cpp
pulgar de destino C: libboost lt;= external/ boost_1_49_0/libs/filesystem/v3/src/codecvt_error_category.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/ filesystem/v3/src/operaciones.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/filesystem/v3/src/path.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/filesystem/v3/src/path.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/filesystem/v3/ src/portability.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/ filesystem/v3/src/utf8_codecvt_facet.cpp
pulgar de destino C: libboost lt;= external/boost_1_49_0/libs/system/src/error_code.cpp
destino SharedLib: libboost (out/target/product/godbox/obj/SHARED_LIBRARIES/li
bboost_intermediates/LINKED/libboost.so)
Símbolos de destino: libboost (out/target/product/godbox/symbols/system/lib/libboost.so)
Eliminación de destino: libboost ( out/target/product/godbox/obj/lib/lib.so)
Eliminación de objetivos: libboost (out/target/product/godbox/obj/lib/libboost.so)
Instalación: out/target/product/godbox/system/lib/libboost.so
Biblioteca de funciones libboost.so generada con éxito