下面开始交叉编译,编译过程中会遇到几个小问题,一一解决
1、编译zlib
解压zlib-1.2.5.tar.gz
#tar -xzvf zlib-1.2.5.tar.gz
进入源文件目录
#cd zlib-1.2.5
运行configure配置makefile
#./configure --prefix=/opt/webcam/ffpeg
--prefix=/opt/webcam/ffpeg的意思是最后执行make install时,将文件安装在/opt/webcam/ffmpeg,不然会默认安装在/usr/local/lib中,其实这里不写这个参数,最后一起在makefile中修改也可以的。
配置后会在当前目录下生成Makefile
修改Makefile以便能够用arm-linux-gcc编译,其实就是把gcc 改成arm-linux-gcc,ar改成arm-linux-ar等
下面是改好的makefile部分
SFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1
LDFLAGS= -L. libz.a
TEST_LDFLAGS=-L. libz.a
LDSHARED=arm-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=arm-linux-gcc -E
STATICLIB=libz.a
SHAREDLIB=libz.so
SHAREDLIBV=libz.so.1.2.5
SHAREDLIBM=libz.so.1
LIBS=$(STATICLIB) $(SHAREDLIBV)
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
LDCONFIG=ldconfig
LDSHAREDLIBC=-lc
TAR=tar
SHELL=/bin/sh
EXE=
prefix =/opt/webcam/ffmpeg
运行configure是的--prefix 就是最后这个参数,这里修改也行的
然后make,make install
#make
#make install
zlib的编译应该不会出现问题,在/opt/wecam/ffmpeg中是编译好的文件,在子文件夹lib中的.so文件最后要复制到2440里