請移步https://higoge.github.io/,全部下載資料在那個博客都能找到。謝謝。 git
--------------------------------------------------------------------github
好久沒有更新博客了,最近Jeremiah確實有些忙,並且,也沒有再對VLC進行深刻研究。如今把最新的VLC-1.0.2版本的編譯說一下。與VLC-1.0.0及VLC-1.0.1的差很少。在此從略寫。
windows
請主要參考《windows平臺下vlc編譯之十:vlc-1.0.0的編譯》。ide
2009.11.04更新:vlc-1.0.3編譯。與vlc-1.0.2相同,只添加源碼地址。函數
2009.12.16更新:vlc-1.0.4源碼發佈,可是根據官網上的信息,vlc-1.0.4只是對基於X11的操做系統進行了Bug修復。因此Windows的和Mac就沒有進行新的修復。在此只提供源碼。(This release is targetted at fixing bugs on the x11 platforms, fixing bugs especially for KDE, cairo-dock, XCB, v4l and FreeBSD compatibility. Binaries for Windows and Mac OS are not yet on the pipe.)ui
2010.02.05更新:vlc-1.0.5編譯。與vlc-1.0.2相同,只添加源碼地址。spa
2010.04.22更新:vlc-1.0.6編譯。與vlc-1.0.2基本相同,增長一個x264.c的修改,見最後。添加源碼地址。操作系統
具體每版更新信息請參考:http://www.videolan.org/developers/vlc-branch/NEWSdebug
1. 源碼及庫code
vlc-1.0.2源碼:http://download.videolan.org/pub/videolan/vlc/1.0.2/vlc-1.0.2.tar.bz2
vlc-1.0.3源碼:http://download.videolan.org/pub/videolan/vlc/1.0.3/vlc-1.0.3.tar.bz2
vlc-1.0.4源碼:http://download.videolan.org/pub/videolan/vlc/1.0.4/vlc-1.0.4.tar.bz2
vlc-1.0.5源碼:http://download.videolan.org/pub/videolan/vlc/1.0.5/vlc-1.0.5.tar.bz2
vlc-1.0.6源碼:http://download.videolan.org/pub/videolan/vlc/1.0.6/vlc-1.0.6.tar.bz2
2. configure腳本
PATH=/usr/win32/bin:$PATH \
PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
./configure \
--host=i686-pc-mingw32 \
--enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
--enable-avcodec --enable-avformat --enable-swscale \
--enable-faad --enable-flac --enable-theora \
--enable-freetype \
--enable-fribidi \
--disable-fluidsynth \
--enable-live555 --with-live555-tree=/usr/win32/live.com \
--enable-caca --with-caca-config-path=/usr/win32/bin \
--with-dvdnav-config-path=/usr/win32/bin \
--disable-cddax --disable-vcdx --enable-goom \
--enable-twolame --enable-dvdread \
--enable-debug --enable-dca \
--disable-mkv --disable-taglib \
--disable-zvbi \
--enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
本次新的configure腳本主要刪除了無效的配置,及加入了--disable-fluidsynth,不然編譯不過。
3. 修改錯誤
《windows平臺下vlc編譯之十:vlc-1.0.0的編譯》的第6步的錯誤(1),(2)的錯誤仍是要修改,(3)能夠不用了。可是要修改如下錯誤。
修改MakeFile的1970行:
echo "Error: please remove $(win32_debugdir), it is in the way"; \
false \
爲
echo "Error: please remove $(win32_debugdir), it is in the way"; \
rm -rf $(win32_debugdir) \
解釋下:這個錯誤主要是因爲最後執行make package-win32-base後會產生一個symbols-1.0.2文件夾,而這個文件夾在下次執行make package-win32-base的時候提示存在,而後會報錯,就是上面的false,將其改成刪除此文件夾,不報錯繼續。
2010-04-22更新:vlc-1.0.6錯誤修改
因爲官方使用了較新的x264的庫,而沒有給出相應的contrib,1.0.2的contrib中x264有些過期,沒有x264_encoder_delayed_frames函數。vlc-1.0.6還好只是一句打印信息用到了此函數,故註釋之。
註釋掉vlc-1.0.6的modules/codec/x264.c的1643行:
// msg_Dbg( p_enc, "framecount still in libx264 buffer: %d", x264_encoder_delayed_frames( p_sys->h ) );
其餘就沒什麼問題了,編譯過VLC好幾遍的對修改此問題都是輕車熟路了。沒有編譯過VLC的請下載視頻觀看。下載方式請看之前的博客。