Ubuntu 下编译 VLC-Win32
在Ubuntu下编译可以在Windows(Win32)中运行的VLC
以下所有内容来自于VLC wiki中的Win32Compile文档
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, gnu make, gettext
- pkg-config
- git
- svn, cmake, cvs if you want to rebuild contribs
- zip, 7zip, nsis.
需要安装的其它工具
Get the source code
$ git clone git://git.videolan.org/vlc.git
取得最新VLC源代码
Prepare 3rd party libraries
$ cd vlc
$ mkdir -p contrib/win32 $ cd contrib/win32 $ ../bootstrap --host=i586-mingw32msvc $ make prebuilt
获取第三方的库(存放于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. |
Well done—you're ready to use VLC!
-------------------------------------------------------------
在编译的过程中可能遇到问题:
1 @DLOPEN_LDFLAGS@:No such file or directory
go to win32/modules/access
vim Makefile
remove @DLOPEN_LDFLAGS@
2 if run "make package-win32" , 7z not found
sudo apt-get install unrar p7zip-full cabextract
3 vlc-2.0.0 problem: bootstrap must be run in a subdirectory
cp win32/src/src/*.* win32/src/