VLC是一款开源的跨平台的多媒体音频、视频播放器,支持多种格式,提供多种解码器,插件。有时候我们需要修改某些功能,插件不满足,那只能修改源码并重新编译了。在linux平台的编译相对简单,windows环境下编译相对就繁琐些了,本文就已成功编译的经验在此分享参考步骤,有任何问题,欢迎反馈交流(itgather@163.com)。
为了读者能够准确还原本文中提到的步骤,现象,并确保编译成功,本文会提供对应的源码,依赖包。
下载链接1:https://u17802766.ctfile.com/dir/17802766-28904922-0a3d88/
下载链接2:https://u17802766.pipipan.com/dir/17802766-28904922-0a3d88/
1、实例-系统环境
操作系统:windows7-32bit
(1)、安装msys2,安装到C:\MSYS2路径;
安装依赖包
运行MSYS2 MinGW 32-bit快捷启动,进入终端
![](https://img-blog.csdn.net/2018070709095597?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2l0Z2F0aGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![](https://img-blog.csdn.net/20180707091004177?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2l0Z2F0aGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
执行命令进行依赖库安装
pacman -S git subversion cvs automake autoconf libtool m4 make gettext pkg-config mingw-w64-i686-lua findutils mingw-w64-i686-headers yasm patch zip unzip
安装成功后,如下图示
![](https://img-blog.csdn.net/20180707091029646?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2l0Z2F0aGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
(2)、安装GCC
解压i686-4.9.2-release-win32-sjlj-rt_v3-rev0.7z到C:\MSYS2路径;
执行gcc -v显示
![](https://img-blog.csdn.net/20180707091058685?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2l0Z2F0aGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
gcc覆盖安装成功。
2、vlc版本
(1)、原始的vlc2.2.1源码编译会出错,附件中已经修正。tar xvf vlc-2.2.1.tar.xz解压到/usr/local/vlc-2.2.1路径;
(2)、cd vlc-2.2.1/contrib;mkdir win32 && cd win32;
(3)、拷贝vlc-contrib-i686-w64-mingw32-20151023.tar到vlc-2.2.1/contrib/win32/vlc-contrib-i686-w64-mingw32-latest.tar.bz2;
(4)、执行命令../bootstrap --build=i686-w64-mingw32;
(5)、执行命令make prebuilt
(6)、rm ../i686-w64-mingw32/bin/{luac,moc,rcc,uic}
(7)、cd ../../回到vlc根目录
(8)、./bootstrap
(9)、mkdir win32 && cd win32
(10)、../extras/package/win32/configure.sh --host=i686-w64-mingw32 --disable-nls
(11)、Win32/Makefile和Win32/src/Makefile文件,去除-WerrorXXX的编译选项,否则会把警告当作错误,会编译不过
(12)、拷贝vlc2.2.1/contrib/i686-w64-mingw32/bin路径下的moc.exe,uic.exe,rcc.exe到C:\msys32\mingw32\bin路径下。
(13)、make
(14)、make成功后再执行,make package-win-common,成功后,会生成vlc-2.2.1文件夹,在里面可以找到编译生成的vlc.exe,完美收工。
![](https://img-blog.csdn.net/20180707091148534?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2l0Z2F0aGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)