轉載:http://blog.csdn.net/zgyulongfei/article/details/7440254
步驟: 1,將x264壓縮包解壓,假設解壓後的目錄為libx264。
2,在libx264目錄下建立一個指令檔myconfig.sh,然後將裡面的代碼貼到myconfig.sh裡面。
指令碼如下:
# !/bin/sh export ARM_ROOT=/home/frank/android-ndk-r4bexport ARM_INC=$ARM_ROOT/build/platforms/android-8/arch-arm/usr/include/export ARM_LIB=$ARM_ROOT/build/platforms/android-8/arch-arm/usr/lib/export ARM_TOOL=$ARM_ROOT/build/prebuilt/linux-x86/arm-eabi-4.4.0export ARM_LIBO=$ARM_TOOL/lib/gcc/arm-eabi/4.4.0export PATH=$ARM_TOOL/bin:$PATHexport ARM_PRE=arm-eabi ./configure --disable-gpac --extra-cflags=" -I$ARM_INC -fPIC -DANDROID -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -MMD -MP " --extra-ldflags="-nostdlib -Bdynamic -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,nocopyreloc -Wl,-soname,/system/lib/libz.so -Wl,-rpath-link=$ARM_LIB,-dynamic-linker=/system/bin/linker -L$ARM_LIB -nostdlib $ARM_LIB/crtbegin_dynamic.o $ARM_LIB/crtend_android.o -lc -lm -ldl -lgcc" --cross-prefix=${ARM_PRE}- --disable-asm --host=arm-linux --disable-shared
3,將第一句配置 export ARM_ROOT=/home/frank/android-ndk-r4b 改成你ndk-r4b的路徑。
4,開啟終端,並將終端定位到libx264的目錄下,輸入 sudo sh ./myconfig.sh 5,當提示可以運行make的時候,輸入make
6,如果程式可以很正常的編譯,那麼恭喜你,你已經成功了,你可以不用看下面的內容了;如果輸入make之後,看到這些資訊:/bin/sh:arm-eabi-gcc:未找到命令,那麼你和我一樣遇到了這個問題,請繼續看第7步。
7,在終端輸入: sudo gedit /etc/profile ,在開啟的文本中定位到檔案末尾,輸入以下指令碼 #set arm-eabi-gcc environment export ARM_EABI_GCC=/opt/java/ndk/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin export PATH=$ARM_EABI_GCC:$PATH 注意:ARM_EABI_GCC中的/opt/java/ndk/android-ndk-r4b是我ndk-r4b的路徑,你要根據自己ndk路徑修改! 儲存後關閉文本。這一步的目的是為arm-eabi-gcc添加環境變數。
8,上一步修改的配置需要重啟電腦才會生效,為了能夠使其立即生效,需要在終端輸入:source /etc/profile,接著輸入:echo $PATH 查看ARM_EABI_GCC的路徑是否有在輸出的內容中,如果有,則看第9步,否則認真檢查,重新設定一下環境變數。
9,環境變數配置好了之後,輸入命令:make,如果不再提示說arm-eabi-gcc未找到命令而且看到程式正在編譯,那麼恭喜你,你將成功編譯libx264.