VideLAN是一个开源项目。它旗下的VLC是一款出色的以流媒体支援强大和跨平台的特性而著称的开源多媒体播放器。 这篇教程就是教大家通过Cygwin环境在Win平台下编译VLC这款播放器。#轻教程#

本文参考了文章:http://higoge.github.io/2015/07/16/sm01/index.html%E3%80%82%E5%9C%A8%E6%AD%A4%E8%A1%A8%E7%A4%BA%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%E7%9A%84%E8%AF%B4%EF%BC%81
参考文章作者 的博客:http://higoge.github.io%E3%80%82
相关链接:
VLC官方源码:ftp://ftp.videolan.org/pub/videolan/
Cygwin离线安装资源/VLC库资源:https://pan.baidu.com/s/1o8ubedW#list/path=%2F%E6%B1%AA%E6%B1%AA%E7%9A%84%E7%BD%91%E7%9B%98
(提取密码xo9s 解压密码higoge)。
Cygwin官网:https://cygwin.com/install.html
步骤一、在Win上部署Cygwin环境。
首先下载Cygwin的安装包:如果您觉得自己的网络比较好的话,就请使用上面cygwin官网那个URL下载在线安装器,安装时会需要网络。如果反之,就选择上面的离线安装的那个URL吧,里面有已经打包好的163源的cygwin安装包,里面预置的离线文件是可以满足本次编译的。注意,我们推荐您安装32位版本的Cygwin。
安装Cygwin:额..这里就不再过多赘述了噗噗噗,cygwin安装和基础上手还是很简单的,安装器也都是英文,跟着向导走就好了。不过等到安装器说选择安装的包那一步的时候,我们需要选择一些我们能用得上的包,再进行安装。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
| Archive:
unzip
xz
zip
Devel:
autoconf
automake
binutils
cmake
cvs
cygwin64-libiconv
gcc-core
gcc-g++ (3.4.4-3)
gdb
gettext-devel
git
git-completion
libtool
make
mingw-binutils
mingw-gcc-core
mingw-gcc-g++
mingw-pthreads
mingw-runtime
mingw-w32api
mingw64-i686-binutils
mingw64-i686-gcc-core
mingw64-i686-g++
mingw64-i686-pkgconfig
mingw64-i686-runtime
mingw64-x86_64-binutils
mingw64-x86_64-gcc-core
mingw64-x86_64-g++
mingw64-x86_64-pkg-config
mingw64-x86_64-runtime
nasm
patch
patchutils
pkg-config
subversion
Editor:
vim
Libs:
crypt
expat
libgcrypt-devel
libgcrypt20
Net:
curl
openssh
Text:
gettext
Utils:
cygutils-extra
dos2unix
Web:
wget
|
具体参考这篇文章吧,如果是第一次接触想要熟悉一下Cygwin环境的话:http://higoge.github.io/2015/07/15/tools01/%E3%80%82
安装完了,直接以管理员身份运行Cygwin就行了。软件窗口右键标题栏也有很多设置的地方,可以自己玩一下。
步骤二:准备VLC的源码和库文件。
先去上面的vlc官方ftp链接上去下载vlc的源码,比如2.2.4版本的文件名就是:vlc-2.2.4.tar.xz那个。
然后去网盘链接,下载vlc.7z,解压出"rcc.exe"和"vlc-contrib-i686-w64-mingw32-20150630.tar.bz2"这个库文件。
最后将这获取到的三个文件复制到一个文件夹目录当中,比如说笔者就复制到了F:/vlc这个文件夹路径。
步骤三:准备编译VLC。
第一步,以管理员身份打开cygwin,把刚刚准备好的源码导入到cygwin环境。
执行如下命令:
1
2
3
| cp /cygdrive/f/vlc/vlc-* .
cp /cygdrive/f/vlc/rcc.exe . |
注意加".“。
完成后ls一波,你就能在cygwin环境里看到那三个文件了。
第二步,把vlc源码解压。
执行如下命令:
1
2
3
4
5
| tar xJvf vlc-2.2.4.tar.xz
如果上面那个不管用就tar -xvf vlc-2.2.4.tar.xz
cd vlc-2.2.4/ |
第三步,准备vlc的库。
执行:
1
2
3
| cd contrib
mkdir win32; cd win32 |
手动调用本地库
1
| mv ~/vlc-contrib-i686-w64-mingw32-20150630.tar.bz2 vlc-contrib-i686-w64-mingw32-latest.tar.bz2 |
编译:
1
2
3
| ../bootstrap --build=i686-w64-mingw32
make prebuilt |
清理一波:
1
| rm ../i686-w64-mingw32/bin/{luac,moc,rcc,uic} |
如果至此你发现目录下的rcc.exe消失了,你可以手动将其重新导入:
1
2
3
| cp /cygdrive/d/rcc.exe ../i686-w64-mingw32/bin
cd ../../ |
第四步,开始编译和打包VLC。
修改一下环境变量:
1
| export PATH=/usr/i686-w64-mingw32/sys-root/mingw/bin/:$PATH |
编译前检查:
1
2
3
4
5
| ./bootstrap
mkdir win32; cd win32
../extras/package/win32/configure.sh --host=i686-w64-mingw32
|
至此完毕后,弹出libvlc configuration和一些版本号相关信息,即表示已经基本做好了编译和打包的准备了。
Make:
1
2
3
| make -j8
备注:j后面的那个数字表示你打算启动处理器的几个核心来进行Make,请酌情修改。
|
编译的话,就多等一会吧~
编译完了打包一波:
1
| make package-win-common |
执行完成后,你的cygwin目录下vlc那个文件夹下的win32就会显示出你刚刚编译好的文件了。
键入pwd可以查看文件所在目录。
如果你运行之后发现GUI根本无法启动的话,原因是libqt4_plugin.dll需要调用libstdc++-6.dll和libgcc_s_sjlj-1.dll库,而在我们刚刚的编译过程当中它却并没有给我们加载上Orz。没关系,我们可以手动加载一波:
1
| cp /usr/i686-w64-mingw32/sys-root/mingw/bin/{libstdc++-6.dll,libgcc_s_sjlj-1.dll} vlc-2.2.1/ |
好了,现在在测试一波看一看。
@本地磁盘姬 整理
ohayou.moeres.org
微博@萌萌的本地磁盘w
2017年02月25日