### Android跨平臺(tái)編譯 ---ICONV
// step1: app.gradle
externalNativeBuild {
? ? ? ? ? ? cmake {
? ? ? ? ? ? ? ? cppFlags "-frtti -fexceptions --std=c++1z"
? ? ? ? ? ? ? ? arguments "-DANDROID_STL=c++_static"
? ? ? ? ? ? }
? ? ? ? }
// step2:然后將最新的iconv代碼全部復(fù)制到項(xiàng)目的cpp目錄下栖忠。
// 然后打開命令行伯襟,在cpp目錄下運(yùn)行./configure
// step3:cmakeLists.txt
cmake_minimum_required(VERSION 3.4.1)
project(mylib)
add_compile_options(
-Wno-multichar
-DANDROID
-DLIBDIR=\"c\"
-DBUILDING_LIBICONV
-DIN_LIBRARY
)
include_directories(src/main/cpp/)
include_directories(src/main/cpp/include)
include_directories(src/main/cpp/libcharset)
include_directories(src/main/cpp/lib)
include_directories(src/main/cpp/libcharset/include)
include_directories(src/main/cpp/srclib)
add_library( # Sets the name of the library.
? ? ? ? ? ? iconv
? ? ? ? ? ? # Sets the library as a static library.
? ? ? ? ? ? SHARED
? ? ? ? ? ? # Provides a relative path to your source file(s).
? ? ? ? ? ? src/main/cpp/libcharset/lib/localcharset.c src/main/cpp/lib/iconv.c src/main/cpp/lib/relocatable.c
? ? ? ? ? ? )
// step4:修改宏定義 #define HAVE_LANGINFO_CODESET 0