Android NDKクロスコンパイルC++コード生成.so共有ライブラリ詳細手順

2811 ワード

Android NDKクロスコンパイルC++コード生成.so共有ライブラリ詳細手順
Android NDK呼び出しc++stlテンプレートライブラリ(android.mkファイルの変更)
 
1テンプレートライブラリを呼び出す必要があるファイルの前にヘッダファイルを含める:
 
   #include
  #include
 
この場合コンパイルは可能ですがandroidが必要です.mkファイルに追加:
  
LOCAL_C_INCLUDES:=/home/administrator/android-ndk-r 5 b/sources/cxx-stl/stlport/stlport(ndkインストールパス下のstlライブラリ)
 
 
2 mkファイルの前に追加:
 
   APP_STL  :=  stlprot_static(テンプレートライブラリは静的ライブラリで追加)
 
  ....
  LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib  -llog\
 /home/administrator/android-ndk-r5b/sources/cxx-stl/stlport/libs/armeabi/libstlport_static.a
 
私のAndroid.mkファイルの内容は次のとおりです.
 
LOCAL_PATH := $(call my-dir)

LOCAL_C_INCLUDES += external/stlport/stlport
LOCAL_C_INCLUDES += bionic
LOCAL_C_INCLUDES += bionic/libstdc++/include

LOCAL_SHARED_LIBRARIES := libstlport

GXPM_LIB_DIR := ../../../common/GoxceedPM

include $(CLEAR_VARS)
	#$(GXPM_LIB_DIR)/minidb/minilzo/minilzo.c 	\

GXPM_SRC_FILES := \
	$(GXPM_LIB_DIR)/zlib/adler32.c      		\
	$(GXPM_LIB_DIR)/zlib/compress.c      		\
	$(GXPM_LIB_DIR)/zlib/crc32.c      		\
	$(GXPM_LIB_DIR)/zlib/deflate.c      		\
	$(GXPM_LIB_DIR)/zlib/gzio.c      		\
	$(GXPM_LIB_DIR)/zlib/inffast.c      		\
	$(GXPM_LIB_DIR)/zlib/inflate.c      		\
	$(GXPM_LIB_DIR)/zlib/inftrees.c      		\
	$(GXPM_LIB_DIR)/zlib/trees.c      		\
	$(GXPM_LIB_DIR)/zlib/uncompr.c      		\
	$(GXPM_LIB_DIR)/zlib/zutil.c      		\
	$(GXPM_LIB_DIR)/lz4/lz4.c      		\
	$(GXPM_LIB_DIR)/lz4/lz4frame.c      		\
	$(GXPM_LIB_DIR)/lz4/lz4hc.c      		\
	$(GXPM_LIB_DIR)/lz4/xxhash.c      		\
	$(GXPM_LIB_DIR)/minilzo/minilzo.c      		\
	$(GXPM_LIB_DIR)/minidb/bitmap.c      		\
	$(GXPM_LIB_DIR)/minidb/buddy.c       		\
	$(GXPM_LIB_DIR)/minidb/compressor.cpp		\
	$(GXPM_LIB_DIR)/minidb/compr_lz4.cpp 		\
	$(GXPM_LIB_DIR)/minidb/compr_lz77.cpp		\
	$(GXPM_LIB_DIR)/minidb/compr_lzo.cpp 		\
	$(GXPM_LIB_DIR)/minidb/compr_zlib.cpp		\
	$(GXPM_LIB_DIR)/minidb/db.cpp        		\
	$(GXPM_LIB_DIR)/minidb/hash.c        		\
	$(GXPM_LIB_DIR)/minidb/io.cpp        		\
	$(GXPM_LIB_DIR)/minidb/map.c         		\
	$(GXPM_LIB_DIR)/textcode_convert.c		\
	
LOCAL_SRC_FILES := \
	$(GXPM_SRC_FILES)		\
	gomedia.cpp

LOCAL_C_INCLUDES := \
	$(LOCAL_PATH)/../../../common/GoxceedPM/zlib/include 		\
	$(LOCAL_PATH)/../../../common/GoxceedPM/lz4 			\
	$(LOCAL_PATH)/../../../common/GoxceedPM/minilzo 		\
	$(LOCAL_PATH)/../../../common/GoxceedPM/minidb 			\
	$(LOCAL_PATH)/../../../common/GoxceedPM/core 		\
	$(LOCAL_PATH)/../../../common/GoxceedPM				\
	
LOCAL_LDLIBS := -llog
	
LOCAL_MODULE := gomedia
	
include $(BUILD_SHARED_LIBRARY)
	

Application.mk:
APP_ABI := all
APP_PLATFORM := android-8
APP_STL  :=  stlport_static
APP_CPPFLAGS := -fpermissive  

 
aa