以前曾经编译过ffmpeg for wince按照网上兄弟们所说的方法,但是在wm6以上使用还要通过配置注册表比较麻烦,前几天看见mingw32ce 网站上已经宣布支持wm6.1,所以就下来重新编译一次。又遇见一些错误,所以就在这里写下备忘录
首先下载cywin1.7 我是选择的是在线安装,一定记住要选择make和gcc,我就是因为没选所以重新安装了一下
接下来下载mingw32ce最新版办,0.59好像,据说支持wm6.1,我已经编译完成测试完结果会告诉大家,解压后放在
cywin的opt目录中,然后工具就基本准备完毕
用svn下载最新的ffmpeg代码;
进入cywin,首先应该挂载本地盘,用于访问ffmpeg和其他的资源。
如:mount -f c:/ /c
然后输入PATH=/opt/mingw32ce/bin:$PATH设置本地路径,用户编译程序
输入./configure --enable-memalign-hack --target-os=mingw32ce --arch=arm --enable-cross-compile --cross-prefix=arm-mingw32ce- --enable-gpl --enable-small --enable-static --enable-shared --disable-mmx --disable-zlib --disable-ipv6 --disable-debug --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-network --disable-devices --disable-protocols --disable-bsfs --disable-parsers --enable-decoder=mpeg4 --enable-decoder=h264 --extra-cflags="-march=armv4I -mtune=xscale"用以生成configure.mak当然你如过十分熟悉语法和配置,可以直接修改.mak
设置系统变量C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE 一些lib.exe需要的库
C:/Program Files/Microsoft Visual Studio 9.0/bin lib.exe存放目录
解决几个错误,一个就是修改error.h注释掉需要包含的文件error.h.
在编译时候会出现不支持 bx lr的错误,我是用 mov pc,lr替换掉了。编译是通过了,不过我不敢肯定运行可行;