提示错误:Compiler did not align stack variables. Libevcoder has been miscompliled and may be very slow or crash. This is not a bug in libavcodec, but in the compiler.You may try recompiling using gcc>=4.2.Dot not report crashes to FFmpeg developers.
windows下的GCC即MinGW,Libavcodec是ffmpeg中关于音视频编解码的库。
解决方法:
建议装一个较高版本的MinGW试一下(http://www.mingw.org/)
MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。这里的“纯粹”是指「使用msvcrt.dll的应用程序」。无法使用MFC 。libavcodec是用来对视频文件中的音视频流进行解码的。
参考三篇文章配置成功:
在windows平台下编译出libavcodec库
| /********************此文可以被转发,但请转发者保留作者的署名权 ****李浩 ****msn:lihao_nx@hotmail.com **** ****email:lihaoyxj@gmail.com ****出处:lihaoyxj.cublog.cn ****from:www.cnblogs.com/lihaoyxj *****************/ |
前边做了msys的环境搭建,在编译ffmpeg时,还需要做以下的工作。
1. 整合系统,把
call "c:"Program Files"Microsoft Visual Studio 9.0"VC"bin"vcvars32.bat"加到d:"msys"msys.bat的最前边。
2. 运行msys.bat后
切换到下载的ffmpeg目录中,因为msys走的是类UNIX路径,所以要按UNIX的方式切换路径等。
如: cd /d/ffmpeg
3.用configure配置Makefile
./configure --enable-shared --disable-static --enable-memalign-hack
这样是生成动态的编解码库,由于1 中加入了vcvars32.bat环境,故用这样的模式才会生成具体的dll及lib等,否则vc下调用接口又会折腾了.
4.make
编译ffmpeg整个项目
5. 在ffmpeg"libavcodec下就会有相应的dll,lib,而ffmpeg""libavformat下也会有相应的dll,lib.