mp4v2源码编译并移植到海思平台
扫描二维码
随时随地手机看文章
https://launchpad.net/ubuntu/artful/+source/mp4v2
参考“嵌入式Linux下MP4视频录制库MP4V2移植和简介 - 嵌入式天地 - CSDN博客 http://blog.csdn.net/wavemcu/article/details/40660309”2.放到海思平台编译程序所用的虚拟机中, 使用tar -jxvf xxxx.tar.bz2解压,生成mp4v2-2.0.0文件夹。
3.在/usr/local下新建安装目标目录mp4v2 这个目录名自定义的,/usr/local路径也可以自己选择放别处,一般bin文件都默认在这个位置。并且授权。
4.然后进入到mp4v2源码目录下,执行命令 CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 一直check并且配置,如果没有fail或error说明执行成功。
解析CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 备用:(CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 --disable-option-checking --disable-debug --disable-optimize --disable-fvisibility --disable-gch --disable-largefile --disable-util --disable-dependency-tracking --disable-libtool-lock) 参考(arm-linux 交叉编译 mp4v2 http://blog.csdn.net/lh2016rocky/article/details/70861822)
①.选择交叉编译器,找到交叉编译链目录。因为mp4v2源码是基于window的intel架构,所以内部程序格式需要对应到linux端的arm架构,需指定交叉编译器。之前虚拟机的交叉编译链已经安装好了,现在只要把mp4v2源码的配置文件configure指定到先前安装的交叉编译链环境就可以。使用echo $PATH或cat /etc/profile可以查看交叉编译链的环境变量对应的交叉编译器安装的目录。(添加环境链的目的是方便全局操作,不用每次编译都调用目录)
②.这个指令
5.完成后,会在mp4v2-2.0.0目录下生成GNUmakefile文件,授权该文件: chmod 777 /opt/mp4v2-2.0.0 -R 修改GNUmakefile文件中CFLAGS项,为 CFLAGS = -s -O3 -fPIC -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -mapcs-frame
6.然后在在mp4v2-2.0.0目录下执行: make clean;make;make install 等一会执行完成。 7.查看生成的库文件大小和格式,确保正确
二,后期实验 1.在一的步骤中,省去步骤5,发现也可以用于海思平台的录像。开始后,不会导致设备重启。 2.在一的步骤中,步骤4里,将执行命令(CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 --disable-option-checking --disable-debug --disable-optimize --disable-fvisibility --disable-gch --disable-largefile --disable-util --disable-dependency-tracking --disable-libtool-lock) 中的--disable-optimize换成--enable-optimize,生成的库用在海思平台的录像上,开始后,设备会重启。
需交流的话,可发邮箱:zhaomh2012@sina.com