前言
關於 搭建、編譯VLC,不同的平台有不同的方法,可以參考wiki。
其中在windows下編譯VLC有兩種方式,MSYS+MinGW和CygWin。通過測試,最后決定采用MSYS+MinGW搭建VLC編譯環境(多次測試, 通過且不需要額外的修改)。
詳細步驟請參考 wiki
注:文本編輯建議使用notepad2替代windows原有的notepad,並在保存文件前選擇“文件->行末符號->Unix(換行)”
搭建過程所需要的資料我沒上傳, 給個快照, 照着下載就是了。



VLC環境搭建
- MinGW Setup
運行tdm-gcc-4.5.2.exe, 然后Select "Create",install to C:\MinGW(默認是C:\ MinGW32, 記得改成C:\ MinGW),keep default settings,afterwards check that C:\MinGW\bin is added to windows PATH (參考下圖 添加到末尾, 用分號分隔)

解壓mingw-utils-0.3.tar, Extract contents to c:\MinGW - MSys Setup,運行MSYS-1.0.11.exe,然后:Go through the wizard and install to to default C:\Msys\1.0(默認是C:\msys\1.0, 記得改成C:\Msys\1.0)
In the command window that opens, answer questions as follows:
Accept Post Install: [y]
MinGW Installed? : [y]
path to MinGW: [c:/MinGW]
接着安裝MSys Developer Toolkit,運行msysDTK-1.0.0.exe,然后Go through the wizard, keeping default values. (默認是C:\msys\1.0, 記得改成C:\Msys\1.0) - 將AutoTools and libcrypt,文件夾和Glib and PKG-CONFIG文件夾下面的所有包解壓到C:\Msys\1.0,添加set PKG_CONFIG_PATH=/win32/lib/pkgconfig到C:\MSys\1.0\msys.bat第一行。
- Fix libtool search dirs
Open C:\MSys\1.0\bin\libtool and change line 9926 by appending ' /mingw/lib' to the end of 'compiler_lib_search_dirs'. The line should then read : (注: 一定要用notepad2編輯文本,並保存為unix格式)
compiler_lib_search_dirs="/usr/lib /usr/lib /bin/../lib/gcc-lib/i686-pc-msys/2.95.3-1 /bin/../lib/gcc-lib /usr/lib/gcc-lib/i686-pc-msys/2.95.3-1 /bin/../lib/gcc-lib/i686-pc-msys/2.95.3-1/../../../../i686-pc-msys/lib /usr/lib/gcc-lib/i686-pc-msys/2.95.3-1/../../../../i686-pc-msys/lib /mingw/lib"
- 安裝lua
Download the lua tools package from http://www.lua.org/ftp/lua-5.1.4.tar.gz
Uncompress it in your home folder (C:\MSys\1.0\home\Administrator)
run C:\MSys\1.0\msys.bat
type the following commands:
cd /home/ Administrator /lua-5.1.4
make mingw
This should produce lua.exe, luac.exe and lua51.dll in the src directory. Put these in your /bin with the commands:
cd src
cp *.exe /bin
cp *.dll /bin
cd ..
- 安裝第三方庫(已提供最新版contrib-20110711-win32-bin-gcc-4.4.4-runtime-3.17-only.tar.bz2), 解壓, 將usr目錄下面的win32文件夾拷貝到C:\Msys\1.0下
VLC編譯
- 解壓vlc-1.1.11.tar
- extract it to C:\MSys\1.0\home\ Administrator ,rename the vlc-1.1.11 dir to vlc
- 編輯configure-msys.sh文件,添加--disable-upnp,類似於下圖:

然后拷貝configure-msys.sh和configure-common.sh文件到C:\Msys\1.0\home\Administrator\vlc\extras\package\win32下。 - Create a new file containing the single line:echoAdministrator
and save it as C:\MSys\1.0\bin\whoami (without any extension)
Modify configure.ac so that it doesn't call 'hostname -f' as follows:
open C:\MSys\1.0\home\Administrator\vlc\configure.ac
goto search button:
change it as follows:
old: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "hostname -f 2> /dev/null || hostname", [host which ran configure])
new: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "hostname", [host which ran configure]) - Build VLC
The build is made exclusively from the command line, so if you closed the prompt at the LUA step, re-execute C:\MSy\1.0\msys.bat, then type the commands as mentioned Bootstrap
cd vlccp -v /win32/share/aclocal/* m4/cp -v /share/aclocal/* m4/PATH=/win32/bin:$PATH ./bootstrap
Configure
sh extras/package/win32/configure-msys.sh
Make (compile)
PATH=/usr/win32/bin:$PATH make -j4 (如果是四核的電腦, 否則相應修改)
make成功后如果想要生成sdk等文件夾, 可以輸入下面命令Create self-contained packages
Once the compilation is done, build self-contained VLC packages with one of the following "make" commands:
make package-win32-base
(This will create a subdirectory named vlc-x.x.x with all the binaries "stripped" without any debugging symbols).
完!
2012年5月
