NDK編譯常用開源庫 libiconv

2021-07-23 13:41:35 字數 1351 閱讀 3180

1、配置ndk的linux環境

建立一套工具鏈,進入ndk的build/tools/目錄,執行如下命令:

./make-standalone-toolchain.sh --platform=android-12 --install-dir=/home/xiaoming/android-ndk --toolchain=arm-linux-androideabi-4.9(根據自己ndk具體版本變化)

將工具路徑下的bin和ndk的目錄新增到環境變數path裡面,例如

執行vim ~/.profile新增export path=/home/xiaoming/android-ndk-r13:/home/xiaoming/android-ndk

/bin:$path

執行source ~/.profile

(3)編譯libiconv開源庫

使用libtool裡面的config.sub替換libiconv裡面的所有congfig.sub;

執行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(靜態庫)命令;

如果不需要版本控制需要修改原始碼下生成的libtool檔案中的library_names_spec="\$libname\$";和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

使用NDK編譯ffmpeg庫

1 在 然後熱行如下命令安裝ndk,我是在ubuntu 14.04下安裝的,在win下要裝cygwin,會麻煩很多,不推薦。它官方的安裝提示如下 on linux and mac os x darwin 2.open a terminal window.3.go to the directory t...

重新編譯NDK庫

ndk network developer s kit 是ti提供的用來在嵌入式處理器上開發基於網路程式的開發平台。ndk包含開源c 和預編譯庫,使用者可以對原始碼進行修改後自行重新編譯。ndk當前支援tms320c6000 dsp系列和arm處理器。支援的平台有c64p,c66,c674,arm9...

Linux下NDK編譯so庫

2 隨便在哪個目錄直接解壓 3 配置系統環境變數 vim etc profile 在檔案末尾新增如下內容 export android ndk ndk路徑 export path and roid ndk android ndk androi dn d k 1 建立jni目錄 mkdir jni 2...