Windows 下编译VLC2.2.1 -Mys2+MinGW

来源:互联网 发布:sql 相同数据合并 编辑:程序博客网 时间:2024/05/16 09:02

Windows 下编译VLC2.2.0

                                          -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

url:http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-win32/sjlj/i686-4.9.2-release-win32-sjlj-rt_v3-rev0.7z/download

 

解压到: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.1system                : mingw32architecture          : i686 mmx sse sse2optimizations         : yesvlc aliases           : cvlc rvlc qvlc svlcTo 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

 

 

0 0