VLC 2.1.x版到Windows的交叉編譯-Cross Compile

官方說明:http://wiki.videolan.org/Win32Compile

以Ubuntu 12.04.2 LTS i686平台進行編譯,以下說明,最重要是第二項,在VLC官方網站沒有說明。而Ubuntu 12.04也正在改版,而且Mingw-w64在Debian也在修改。所以,避免花費太多時間,一定得去清楚明瞭MINGW的版本。

安裝必要工具

1. 安裝Mingw-64相關工具

$ sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64
$ sudo apt-get install mingw-w64
$ sudo apt-get install mingw-w64-tools

2. 到Debian.ORG去查看是否有最新版本的Mingw-w64, 在VLC 2.0.x以後版本必須使用Mingw-w64 3.0以上的工具才行, 查看網址:http://ftp.debian.org/debian/pool/main/m/mingw-w64/ , 以2013/6/30編譯時,所查到的版本軟體為 mingw-w64-i686-dev_3.0~svn5915-1_all.deb, 所以以下面方式下載並安裝

$ wget http://ftp.debian.org/debian/pool/main/m/mingw-w64/mingw-w64-i686-dev_3.0~svn5915-1_all.deb
$ sudo dpkg -i mingw-w64-i686-dev_3.0~svn5915-1_all.deb

則與更新為最新版本。接下來就依據官方網站的方式進行編譯,但是需要把 i586-mingw32msvc 改為i686-w64-mingw32

3. 安裝其他相關程式、軟體、相依程式庫。。。等

$ sudo apt-get install git lua5.1 libtool automake autoconf make gettext pkg-config qt4-dev-tools subversion cmake cvs zip p7zip nsis bzip2
$ sudo apt-get install p7zip-full

7zip-full需要安裝才可以提供完整7z的指令。
4. 下載VLC程式碼

$ git clone git://git.videolan.org/vlc.git vlc

5. 開始進行編譯

$ cd vlc
$ mkdir -p contrib/win32
$ cd contrib/win32
$ ../bootstrap --host=i686-w64-mingw32
$ make prebuilt
$ cd -
$ ./bootstrap
$ mkdir -p win32 && cd win32
$ ../extras/package/win32/configure.sh --host=i686-w64-mingw32
$ make

包裝 VLC

以下的方式可以進行封裝VLC的方式:

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 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.

 

 

 

發佈留言