-Mys2+MinGW
准备工作:
Msys2
1下载 MSYS2 URL: http://msys2.github.io/
2 安装MSYS2 例如:c:\MSYS2
3 启动 MSYS2.bat
安装相关的工具:
在MSYS2界面执行:
pacman -S gitsubversion cvs automake autoconf libtool m4 make gettext pkg-configmingw-w64-i686-lua findutils mingw-w64-i686-headers yasm patch zip unzip
GCC
解压到:c:\MSYS2\
检查GCC的线程模型:
在MSYS2界面执行:gcc –v
结果:
Thread model: win32
gcc version 4.9.2 (i686-win32-sjlj-rev0, Built by MinGW-W64 project)
vlc
下载源码:
最新版:
git clone git://git.videolan.org/vlc.git
也可以下载
git clone git://git.videolan.org/vlc2.2.git
. 下载vlc-contrib-i686-w64-mingw32-latest.tar.bz2
ftp://ftp.videolan.org/pub/videolan/contrib/i686-w64-mingw32/
这个可以不用下载。在编译配置时自动下载,但网络等各种原因,还是先下下来,避免后面出现未知的问题。
把源文件放到\home\{youname}\下
编译
1在MSYS2界面执行如下命令:
$ cd vlc/contrib
$ mkdir win32 && cd win32
$ mv ~/vlc-contrib-i686-w64-mingw32-20150630.tar.bz2 vlc-contrib-i686-w64-mingw32-latest.tar.bz2
2编译库
$ ../bootstrap --build=i686-w64-mingw32
$ make prebuilt
如果运气不好,会报错如下:
tar: i686-w64-mingw32/include/openjpeg.h:无法创建到 “openjpeg-1.5/openjpeg.h” 的符号连接: No such file or directory
这样的错误也可以不管。
3清理工作
$ rm ../i686-w64-mingw32/bin/{luac,moc,rcc,uic}
由于RCC.exe在执行make prebuilt后被删掉,这个文件可以vlc-contrib-i686-w64-mingw32-latest.tar.bz2这里面找到。故手动恢复一下
$ cp /cygdrive/d/rcc.exe ../i686-w64-mingw32/bin
$ cd ../../ # 回到vlc源码根目录
编译源码
1在MSYS2界面执行:
$ ./bootstrap
2配置:
$ mkdir win32 && cd win32
$ ../extras/package/win32/configure.sh --host=i686-w64-mingw32 --disable-nls
注:1 如果想禁掉某个功能,可以修改extras/package/win32/configure.sh配置文件,也可以在该命令后添加。
2 修改完configure.sh后,必须执行
dos2unix.exe ../extras/package/win32/configure.sh
否则,你编不过哟。
3 --host=i686-w64-mingw32 这个参数必须制定,否则,你可以试试,O(∩_∩)O哈哈~
libvlc configuration -------------------- version : 2.2.1 system : mingw32 architecture : i686 mmx sse sse2 optimizations : yes vlc aliases : cvlc rvlc qvlc svlc To build vlc and its plugins, type `make', or `./compile' if you like nice colors.
然后可以编译了
根据CPU内核个数,执行make
命令。
make -j4
打包
make package-win-common
make package-win32-zip