Android跨平台编译之iconv

### Android跨平台编译 ---ICONV

// step1: app.gradle

externalNativeBuild {

            cmake {

                cppFlags "-frtti -fexceptions --std=c++1z"

                arguments "-DANDROID_STL=c++_static"

            }

        }

// step2:然后将最新的iconv代码全部复制到项目的cpp目录下。

// 然后打开命令行,在cpp目录下运行./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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容