为了读者能够准确还原本文中提到的步骤,现象,并确保编译成功,本文会提供对应的源码,依赖包。
下载链接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快捷启动,进入终端
执行命令进行依赖库安装
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
安装成功后,如下图示
(2)、安装GCC
解压i686-4.9.2-release-win32-sjlj-rt_v3-rev0.7z到C:\MSYS2路径;
执行gcc -v显示
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,完美收工。