详情请进入 湖南阳光电子学校 已关注:人 咨询电话:0731-85579057 微信号:yp941688, yp94168
奋斗了一晚上,多方查找资料,终于将MPlayer交叉编译成功了,小记经验于此。
MPlayer版本:MPlayer-1.0rc2.tar.bz2;
交叉编译器:cross-3.2.tar.bz2
1 在我的主目录中解压Mplayer
2 安装交叉编译器,将cross-3.2.tar.bz2以root权限拷贝到/目录执行解压操作
3 cd Mplayer目录
4 修改stream.c,注释掉
//#ifdef USE_DVDREAD
//extern stream_info_t stream_info_dvd;
//#endif
//#ifdef USE_DVDREAD
// &stream_info_dvd,
//#endif
原因见5,都是关于dvd的错误。
5 ./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-armv4l-linux --enable-static --disable-win32dll --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live 2>&1 | tee logfile
注意:--host-cc=gcc要加,不然会出现codec-cfg无法执行的错误。
disable掉所有在configure中的关于dvd的选项,一方面我在嵌入式平台上用不着dvd,另一方面如果不去掉这些dvd的选项,会出现以下错误。
/usr/include/netinet/in.h:259: error: parse error before '(' token
/usr/include/netinet/in.h:259: error: parse error before "__u32"
/usr/include/netinet/in.h:260: error: parse error before '(' token
/usr/include/netinet/in.h:260: error: parse error before "__u16"
/usr/include/netinet/in.h:262: error: parse error before '(' token
/usr/include/netinet/in.h:262: error: parse error before "__u32"
/usr/include/netinet/in.h:264: error: parse error before '(' token
/usr/include/netinet/in.h:264: error: parse error before "__u16"
6 make
7 哈哈,我可爱的mplayer终于将生了!
感谢下面三个链接: