最近准备研究下ffmpeg代码,所以准备编译一个winodows上的可调式版本,方便学习。
- windows下编译ffmpeg。
- 资源准备
所有资源都上传至百度云链接:http://pan.baidu.com/s/1dFAKUVf 密码:adh6
-
- 软件安装和代码编译过程
1)安装mingw和msys软件(mingw-get-setup.exe)
默认安装在C盘,一直下一步,软件开始下载必要的安装包
点击Continue,进入如下界面:
全部右键mark,菜单中Apply change,开始下载需要编译使用的安装包:
下载完成后可关闭。
进入刚才安装过的目录,找到msys.bat,编辑并在首行添加call "D:Program Files (x86)Microsoft Visual Studio 12.0VCinvcvars32.bat",适自己VS安装路径而定。
打开msys.bat,类似于Linux环境的终端,之后的所有编译都在此进行。
2) 安装依赖库
a) 将资源包中的bin下文件拷贝到C:MinGWin下。
b) 将“X:Program Files (x86)Microsoft Visual Studio 12.0VCin”的lib.exe拷贝到C:MinGWin下。
3) 安装SDL
将SDL的源码包,解压到X:ffmpeg2.1.1
进入SDL目录,依次执行:
./configure -–prefix=/usr/local/SDL
找到sdl-config(不带扩展名),删除其中两处-mwindows
make
make install
通过以下命令导入SDL环境变量。
export PATH=”$PATH:/usr/local/SDL/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/SDL/include/SDL"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/SDL/lib”
4) 编译ffmpeg
将ffmpeg源码解压到X:ffmpeg2.1.1
依次执行:
./configure –-enable-shared -–disable-static –-enable-memalign-hack --enable-gpl –-prefix=/usr/local/ffmpeg2.1.1
make
make install
2.Eclipse调试ffmpeg。
1) 解压资源包中的eclipse-cpp-kepler-SR2-win32-x86_64.zip,启动eclipse。
2) Eclipse-->File-->New-->Project-->C project,选择Makefile project,选择MinGW GCC,如下图所示。
3) 将刚刚编译过的ffmpeg代码拷贝到ffmpeg_debug下,进入Eclipse,按F5刷新
4) 编译工程,Project-->Build All
将SDL-1.2.15-win32解压出的dll文件放入ffplay.exe运行目录下。
5) 调试
调试结果:
如遇到不能调试情况:
1. error with command: gdb --version 。解决方法:Debug Configure 中Debugger选择找到MingW/bin中的gdb.exe
2. 断点不停,No symbol table is loaded. Use the "file" command。解决方法:./configure ffmpeg 时加 --enable-debug=3 --disable-optimizations --disable-asm --disable-stripping 。
本次编译参考了以下:
http://www.cnblogs.com/dwdxdy/p/3625766.html
http://www.cnblogs.com/dwdxdy/p/3626826.html
http://blog.csdn.net/wuji0447/article/details/72953901
windows下基于MinGW编译ffmpeg之初级篇(release v1.0.1)