Windows下編譯VLC
Win32CompileMSYSNew
MSys是 MinGW的輔助編譯環境,基於GCC並針對於windows編譯。可以直接在windows環境下生成vlc。注意,如果需要你也可以在linux環境下通過交叉編譯(http://wiki.videolan.org/Win32Compile)獲得vlc,而且這種方法感覺更快捷。
VLC是個複雜的工程,基本的命令列經驗是必須的。並且不要著急,整個過程最少需要兩個小時,而且如果第一次不成功也不要氣餒。
這份說明由 Jean-Baptiste Kempf 重新編寫,並於2009六月、九月、12月及2010年三月更新, 於2010年六月在J-b, gnosygnu 和 MichaelMc的幫助下再度更新。
為了編輯 unix-style格式的文件需要合適的編輯器。
可以使用 notepad2.選擇 File 然後將Line endings 設定為 Default to "Unix (LF)", 一般情況下會以原方式儲存。
或者可以選擇工具notepad++ 、我用的工具為ultraedit。
PS不要用寫字板等程式開啟,這樣會將檔案預設轉化為DOS格式,如果不小心成為dos格式,使用命令dos2unix + filename 可以轉換成unix格式。
許多下載的軟體都需要解壓縮,他們中大部分都是linux格式的(.tar.gz, .tar.bz2,.tar.lzma)
下載 7-zip 用於解壓,請注意解壓後的目錄結構。
在安裝值錢,確保windows下的使用者名稱沒有使用空格(vlc不支援)。如果有請在你的系統中重新建立一個賬戶,本文中設計到使用者名稱一律以<username>代替。請在對應的位置用你的使用者名稱替代
用此安裝目錄: http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.5.2.exe/download(目錄已變http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/)
依照此安裝嚮導:
· 取消選擇 "Check for updated files..."
· 選擇 "Create"
· 安裝到 C:\MinGW
· 選擇預設設定
· 之後檢查 C:\MinGW\bin是否已經新增到windows PATH 路徑方法:( http://www.computerhope.com/issues/ch000549.htm)
安裝 mingw-utils 地址為: http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz
將其解壓到目錄 c:\MinGW
安裝包在 http://sourceforge.net/project/downloading.php?group_id=2435&filename=MSYS-1.0.11.exe
按照嚮導安裝到目錄 C:\Msys\1.0
在彈出的windows命令框中輸入以下答案:
Accept Post Install: [y]
MinGW Installed? : [y]
path to MinGW: [c:/MinGW]
安裝包在http://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe
依據嚮導,使用預設設定
通過下載下列檔案,並將其解壓到目錄C:\Msys\1.0,用來更新autoconf, automake, libtool和 libcrypt :http://sourceforge.net/projects/mingw/files/MSYS/autoconf/autoconf-2.63-1/autoconf-2.63-1-msys-1.0.11-bin.tar.lzma/download
· http://prdownloads.sourceforge.net/mingw/libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma
類似地, 下載下術檔案將其解壓到 C:\MSys\1.0:注意下載最新的版本(glib測試最新測試的為版本2.28,non-dev version)
· http://ftp.gnome.org/pub/GNOME/binaries/win32/glib
· ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
· ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip
· http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip
3.2.5 Add pkg config path variable
將下面一行加在檔案C:\MSys\1.0\msys.bat:的最上面
set PKG_CONFIG_PATH=/win32/lib/pkgconfig
開啟 C:\MSys\1.0\bin\libtool 在第9926 行'compiler_lib_search_dirs'的結尾新增' 變成下面的樣子 :
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"
VLC使用 LUA 指令碼語言(見 lua.org). 不提供程式,需要自己編譯:
· 下載 lua工具包 http://www.lua.org/ftp/lua-5.1.4.tar.gz
· 解壓到 home 目錄 (C:\MSys\1.0\home\<username>)
· 執行 MSys
· 輸入以下命令:
cd /home/<username>/lua-5.1.4
make mingw
這樣會在src目錄下生成 lua.exe, luac.exe 和 lua51.dll.輸入下述命令移動到你的/bin 目錄下:
cd src
cp *.exe *.dll /bin
cd ..
· 解壓到 C:\MSys\1.0 但是不包含路徑 /usr . 例如一個檔案應該是如下形式:
C:\MSys\1.0\win32\lib\libdvdnav.a
Contribs基本上是一些預編譯使用的第三方庫檔案(這有一個列表:list ).
· 下載檔案http://download.videolan.org/pub/videolan/testing/vlc-1.1.0-rc3/vlc-1.1.0-rc3.tar.bz2
· 解壓到 to C:\MSys\1.0\home\<username>
· 重新命名 the vlc-1.1.0rc3 dir to vlc
· 下載 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-msys.sh;hb=HEAD
· 儲存到(不使用推薦的名字)C:\msys\1.0\home\<username>\vlc\extras\package\win32\configure-msys.sh
· 下載 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-common.sh;hb=HEAD
· 儲存到(不使用推薦的名字) C:\msys\1.0\home\<username>\vlc\extras\package\win32\configure-common.sh
建立一個檔案包含下述命令列:
echo '<username>'
儲存到目錄C:\MSys\1.0\bin\whoami (不需要任何副檔名)
修改 configure.ac 檔案
開啟檔案 C:\MSys\1.0\home\<username>\vlc\configure.ac
· 點選搜尋:
· 如下更改:
舊: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
新: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [hostwhich ran configure])
開啟C:\MSys\1.0\msys.bat,輸入以下命令:
cd vlc
cp -v /usr/win32/share/aclocal/* m4/
cp -v /usr/share/aclocal/* m4/
PATH=/usr/win32/bin:$PATH ./bootstrap
sh extras/package/win32/configure-msys.sh
如果需要更改設定, 比如"--disable-lua" 需要直接更改檔案,而不能以引數的形式附在後面。
輸入以下命令 :
PATH=/usr/win32/bin:$PATH make
編譯完成後, 生成VLC 檔案包需要輸入以下命令:
make package-win32-base
(這會生成一個子目錄,名字為 vlc-x.x.x ,剝離出所有其他的程式).
make package-win32-zip
(生成zip壓縮包).
make package-win32
(生生自動安裝包,但需先安裝NSIS )
見Win32CompileMSYSTroubleShooting.
· Win32CompileMSYSOld -deprecated documentation
相關文章
- Windows下編譯OpenOCDWindows編譯
- vlc-android 的編譯過程Android編譯
- 在Windows下編譯WebRTCWindows編譯Web
- Windows下編譯使用AliyunOSSCSDKWindows編譯
- windows 下c++編譯WindowsC++編譯
- 【FFmpeg】Windows下FFmpeg編譯Windows編譯
- Windows下編譯fast rcnnWindows編譯ASTCNN
- Windows下編譯TriangleWindows編譯
- Windows下編譯Caffe並編譯Matlab介面Windows編譯Matlab
- windows下編譯安裝thriftWindows編譯
- Windows下編譯使用AliyunOSSPHPSDKWindows編譯PHP
- windows 下編譯c檔案Windows編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- 【FFmpeg】Windows下64位ffmpeg編譯Windows編譯
- WPA Supplicant 在Windows下的編譯Windows編譯
- windows下編譯tflite-runtimeWindows編譯
- Android開發實踐:編譯VLC-for-androidAndroid編譯
- 如何在Windows下使用make編譯MakefileWindows編譯
- PyTorch在64位Windows下的編譯PyTorchWindows編譯
- Windows下安裝編譯 Open Cascade 7.8.0Windows編譯
- windows下用mingw編譯linux專案Windows編譯Linux
- 在Windows下編譯Caffe與其Python介面Windows編譯Python
- windows vs 編譯postgresqlWindows編譯SQL
- ubuntu下編譯交叉編譯工具鏈Ubuntu編譯
- Caffe Windows版本的編譯Windows編譯
- 從零開始在Linux編譯VLC-Android開源專案Linux編譯Android
- Windows下使用Graalvm將Javafx應用編譯成exeWindowsLVMJava編譯
- linux與windows交叉編譯LinuxWindows編譯
- windows上使用clang編譯程式Windows編譯
- 如何在Windows上編譯Docker?Windows編譯Docker
- Windows下下載編譯boost庫Windows編譯
- Golang 編譯windows應用程式Golang編譯Windows
- golang windows10下 go build 無法編譯 問題解決GolangWindowsUI編譯
- windows下修改、編譯、構建spring-framework4.1.8.RELEASE原始碼Windows編譯SpringFramework原始碼
- Windows下搭建Android NDK開發環境及命令列編譯WindowsAndroid開發環境命令列編譯
- windows下基於cmake配置opencv並使用visual studio編譯WindowsOpenCV編譯
- redhat下如何編譯bbed!Redhat編譯
- cygwin下ndk編譯protobuf編譯