不同平台下移植x264

2021-06-27 18:58:38 字數 2300 閱讀 9554

一.   編譯環境

mips移植x264相關記錄,mips交叉編譯工具採用buildroot-gcc342版本,x264 版本x264-snapshot-20140831-2245。

android 平台下移植, 採用android-ndk-r9d

二. 移植到android 或者x86平台時候,配置指令碼如下

android ndk 編譯指令碼如下

mkdir platform/

mkdir platform/android/

export arm_root=/home/soft/linux_eclipse_tar/android-ndk-r9d

export arm_inc=$arm_root/platforms/android-9/arch-arm/usr/include/

export arm_lib=$arm_root/platforms/android-9/arch-arm/usr/lib/

export arm_tool=$arm_root/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86

export arm_libo=$arm_tool/lib/gcc/arm-linux-androideabi/4.8

export path=$arm_tool/bin:$path

export arm_pre=arm-linux-androideabi

export platform=$arm_root/platforms/android-9/arch-arm/

cpu=android

prefix=$(pwd)/platform/$cpu

./configure --prefix=$prefix \

--enable-static \

--enable-shared \

--disable-asm \

--host=arm-linux \

--cross-prefix=arm-linux-androideabi- \

--sysroot=$platform

make clean

make -j2

make install

x86 平台編譯指令碼

mkdir x86

cpu=x86

prefix=$(pwd)/platform/$cpu

function build_one

build_one

make clean

make -j2

make install

mips 編譯指令碼

mkdir mips

export arm_root=/opt/buildroot-gcc342

export arm_inc=$arm_root/include/

export arm_lib=$arm_root/lib

export arm_pre=$arm_root/bin/mipsel-linux

cpu=mips

prefix=$(pwd)/android/$cpu

host=mipsel-linux

function build_one

-\--extra-cflags="-i$arm_inc -fpic -dandroid -ffunction-sections -funwind-tables  -fno-short-enums  -msoft-float  -os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -dandroid  -wa,--noexecstack -mmd -mp "\

--extra-ldflags="-l$arm_lib -lmath"

}build_one

make clean

make -j2

make install

三. android 和x86 平台移植編譯都沒問題

mips 下編譯出現如下錯誤

錯誤 1:

這個函式主要是檢測當前cpu個數,需要遮蔽如下**

int x264_cpu_num_processors( void )

int__isfinitef(float f)

int__isfinitel(long double e)

double

round(double x)

else

}float

roundf(float x)

else

}將以上**編譯生成動態庫, 拷貝到 buildroot-gcc342/lib/

編譯成功

sybase備份 不同平台下

size medium 當遇到介質故障時 如磁碟老化損壞 僅當你有資料庫的定期備份及後繼的 事務日誌備份的情況下才可恢復該資料庫。要完全恢復,必須定期使用dump database 命令備份資料庫並結合 dump transaction命令備份日誌。dump database命令允許動態執 行,即轉...

pip在不同平台下的安裝

pip類似redhat裡面的yum,安裝python包非常方便。本節詳細介紹pip的安裝 以及使用方法。要先安裝python和easy install,這樣安裝其他軟體就方便了很多。windows下安裝 python的指令碼路徑放入了path中 1 用easy install安裝pip。在cmd中輸...

easy install在不同平台下的安裝

為什麼要裝easy install?python setup.py install 來進行安裝。這樣是不是很繁瑣呢?如果我們直接命令列執行 easy install twisted 就把最新版的twisted包裝上去了,是不是很爽呢?所以easy install就是為了我們安裝第三方擴充套件包更容易...