4. 编译faac
#cd faac-1.28
#dos2unix bootstrap //这里是要转换编码格式的,不然configure过不去
#dos2unix configure.in
#dos2unix Makefile.in
#chmod +x bootstrap
#./bootstrap
#./configure –prefix=/wm –enable-static –host=arm-mingw32ce –without-mp4v2
#make //跟编译faad一样,错误可以忽略
#make install
5. 编译X264
#cd x264
#./configure –host=arm-mingw32ce –prefix=/wm --disable-avs-input --disable-pthread --disable-asm [--cross-prefix=arm-mingw32ce- 某些版本没有该选项]
#make
#make install
要注意的是:
我使用的x264版本号是84,各个版本编译选项可能不一样,但是有几点请确信,网友说编译x264时必须加上--enable-shared选项,不好意思,这样做反而是错误的做法,我们要将x264链接到ffmpeg中,必须将x264编译为静态库,我刚开始因为这个问题折腾了很久。另外早期版本是不支持--cross-prefix选项的,我们必须按照如下做法:
(1)./configure之后会生成config.mak文件
(2)用UltraEdit打开config.mak文件
(3)CC=gcc ======> CC=arm-mingw32ce-gcc (====>表示修改的意思)
(4)AR=ar =======>AR=arm-mingw32ce-ar
(5)RANLIB=ranlib =>RANLIB=arm-mingw32ce-ranlib
(6)STRIP=strip ====>STRIP=arm-mingw32ce-strip
(7)LDFLAGS= -mno-cygwin -s
(8)CFLAGS=-O3 -fno-fast-math -Wall -I. -mcpu=xscale -mno-cygwin -std=gnu99 -s -fomit-frame-pointer
不同版本生成的config.mak可以不太一样,如果没有以上代码,请打开Makefile文件,将gcc,ar,ranlib,strip等替换掉,这里都必须得用交叉编译器相关的才行。不然在链接ffmpeg的时候就链接不进去。