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文件,将gccarranlibstrip等替换掉,这里都必须得用交叉编译器相关的才行。不然在链接ffmpeg的时候就链接不进去。