操作系统:Ubuntu 10.04 (版本最好是10.04)
Building Methods
Cross-compile with Mingw on Linux | This page | Preferred method (uses cross compilation). On Windows, you should do it in a virtual machine. |
推荐在Ubuntu中进行交叉编译(Windows下可以在虚拟机中安装Ubuntu),在Windows下本地编译比较麻烦,而且容易出错,调试也不方便。
Obtaining the toolchain
Each build method requires its own toolchain:
- Debian/Ubuntu users can
apt-get install gcc-mingw32 mingw32-binutils
.
安装交叉编译工具链
lua5.1
all autotools: libtool, automake, autoconf, autopoint, make, gettext
pkg-config
git
subversion
cmake, cvs if you want to rebuild contribs
zip [for creating .zip package], p7zip(p7zip-all) [for .7z package], nsis [for .exe auto-installer]
需要安装的其它工具
Get the source code
下载vlc-2.0.5
http://download.videolan.org/pub/videolan/vlc/2.0.5/vlc-2.0.5.tar.xz
解压
Prepare 3rd party libraries
$ cd vlc
$ mkdir -p contrib/win32 $ cd contrib/win32 $ ../bootstrap --host=i586-mingw32msvc $ make prebuilt
http://download.videolan.org/pub/videolan/contrib/i586-mingw32msvc/vlc-contrib-i586-mingw32msvc-20121216.tar.bz2
获取第三方的库(存放于VLC目录下contrib/win32目录中)
$ cd -
上一步骤完成后返回VLC目录
Bootstrap
$ ./bootstrap
Configure
Create a subfolder:
$ mkdir win32 && cd win32
Use the standard configuration:
$ ../extras/package/win32/configure.sh --host=i586-mingw32msvc
Building VLC
Once configured, to build VLC, just run:
$ make
Packaging VLC
Once the compilation is done, you can build self-contained VLC packages with the following make
rules:
Command | Description |
---|---|
make package-win-common | Creates a subdirectory named vlc-x.x.x with all the binaries. You can run VLC directly from this directory. |
make package-win-strip (might be package-win32-strip) | Same as above but will create 'stripped' binaries (that is, smallest size, unusable with a debugger). |
make package-win32-7zip | Same as above but will package the directory in a 7z file. |
make package-win32-zip | Same as above but will package the directory in a zip file. |
make package-win32 | Same as above but will also create an auto-installer package. You must have NSIS installed in its default location for this to work. |
make之前修改win32目录下Makefile
将npvlc.dll.manifest 替换成package/npvlc.dll.manifest
将test.html替换成test/test.html
- open up C:\msys\1.0\home\<username>\vlc\include\vlc_windows_interfaces.h
- add "#undef small" on a new line directly underneath "#include <objbase.h>"