libiconv android编译,NDK编译经常使用开源库-libiconv
一、配置NDK的linux環境linux
(1)下載libtool(http://mirrors.kernel.org/gnu/libtool/),進入目錄,執行./configure和makeandroid
(2)下載NDK(http://wear.techbrood.com/tools/sdk/ndk/)c++
建立一套工具鏈,進入NDK的build/tools/目錄,執行以下命令:
./make-standalone-toolchain.sh --platform=android-12 --install-dir=/home/xiaoming/android-ndk --toolchain=arm-linux-androideabi-4.9(根據本身ndk具體版本變化)git
將工具路徑下的bin和NDK的目錄添加到環境變量PATH里面,例如vim
執行vim ~/.profile添加export PATH=/home/xiaoming/android-ndk-r13:/home/xiaoming/android-ndk/bin:$PATHide
執行source ~/.profile工具
(3)編譯libiconv開源庫ui
使用libtool里面的config.sub替換libiconv里面的全部congfig.sub;idea
執行CFLAGS="-mthumb" CXXFLAGS="-mthumb" LIBS="-lstdc++" ./configure --host=arm-linux-androideabi --prefix=/home/xiaoming/install/libiconv或者CFLAGS="-mthumb" CXXFLAGS="-mthumb" LIBS="-lstdc++" gl_cv_header_working_stdint_h=yes? ./configure --host=arm-linux-androideabi --prefix=/home/xiaoming/install/libiconv --enable-static --disable-shared(靜態庫)命令;spa
若是不須要版本控制須要修改源碼下生成的libtool文件中的library_names_spec="\$libname\${shared_ext}";和soname_spec=""便可;(下同)
執行make命令,有以下錯誤
/stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
vim srclib/stdio.in.h文件,接著搜索到:
_GL_WARN_ON_USE (gets, “gets is a security hole - use fgets instead”); 這一行,而后把這個替換成:
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
最后執行make install
總結
以上是生活随笔為你收集整理的libiconv android编译,NDK编译经常使用开源库-libiconv的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lm358在哪个库里_库里8和aj35哪
- 下一篇: 反转链表--清晰易懂的两种方法