1.編譯環境:win7(32bit)/win7(64bit)
2.編譯工具:這裏用的是mingw+msys
3.解壓工具:7-zip
4.參考(官網編譯):https://wiki.videolan.org/Win32CompileMSYS/
-----------------------------------------------------------------------------------
1.首先下載MSys2
注意:這裏儘量裝32位版本,64位機器向下兼容,按默認選項安裝即可
2.安裝工具包
在MSys2中執行:
pacman -S git subversion cvs automake autoconf libtool m4 make gettext pkg-config mingw-w64-i686-lua findutils
下載,驗證,安裝集一體,等待即可
3.GCC
下載GCC並解壓到C:\MSys2\目錄下,退出MSys2,運行autorebase.bat,然後重新打開MSys2,執行gcc -v查看版本號,一般不會出錯。
4.下載源碼
執行
git clone git://git.videolan.org/vlc.git
通過git下載的都是最新的源碼,目前是3.0.0版本
5.獲取預編譯contrib
”make prebuilt”命令會下載預編譯好的contrib庫,也可自行去網上下載,這裏注意contrib庫必須必須和你的源碼版本相配。
注意:按照官網編譯,這裏都下載好後執行”moc -v”,會顯示not found,那麼將對應exe文件複製到sys目錄下,如
Source:C:\MSys2\home\hdf\vlc\contrib\i686-w64-mingw32\bin\moc.exe
Taeget:C:\MSys2\mingw32\bin\moc.exe
6.Bootstrap
到這裏,恭喜你的準備工作已做完,準備開始編譯工作。到vlc根目錄下執行:
./bootstrap
執行成功 提示:
Successfully bootstrapped
7.Configure
執行:
mkdir win32
cd win32
sh ../extras/package/win32/configure.sh --host=i686-w64-mingw32 --disable-nls
注:運行這個命令,然後就等着跑吧,跑一會蹦出來一個什麼,你就把它disable掉,然後繼續。如果你的contrib和源碼匹配應該不會出錯,這裏要等很久,要有點耐心!
8.make(編譯)
執行:
make -j4
注:確保你的<username>的第一個字母不是'u'或者'x'。這裏-j4參數的意思是併發編譯,4個任務同時進行,提高編譯速度
期間會出如圖所示錯誤,重複定義,這裏僅僅修改.c文件是不夠的,還需要修改對應的配置文件。
9.生成
經過漫長等待,編譯通過,直接打包即可。