在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/