vlc 編譯環境搭建:
最近要做一個基於vlc的流媒體傳輸和播放的項目,由於vlc是開源的,所以我針對vlc進行剪裁,首先是搭建vlc的編譯環境,在晚上搜了很多資料,認為jeremiah總結的比較好,vlc我也是初學,環境搭建了2天,今天把它弄好了,寫點總結給做vlc的朋友:
(1)準備工作,下載cygwin、下載vlc1.1.3,下載庫和LUa,這些jeremiah都給出了:
vlc-1.1.3源碼:http://download.videolan.org/pub/videolan/vlc/1.1.3/vlc-1.1.3.tar.bz2
庫:http://download.videolan.org/pub/testing/win32/contrib-20100616-win32-bin-gcc-4.4.4-runtime-3.17-only.tar.bz2
LUA:http://www.lua.org/ftp/lua-5.1.4.tar.gz
(2)首先安裝cygwin,注意只能安裝在根目錄下面,即安裝在每個盤的下面,不然會出錯;安裝的時候注意選擇:
Archive
unzip
zip
Devel
autoconf
automake
binutils
cvs
gcc
gcc-core
gcc-g
gcc-mingw
gcc-mingw-core
gcc-mingw-g
gdb
gettext
gettext-devel
git
libiconv
libgcrypt-devel
libtool
make
mingw-runtime
nasm
patchutils
pkg-config
subversion
Editor
vim
Libs
expat
libgcrypt
Web
curl
wget
安裝完後,點擊案頭上的cygwin捷徑,然後在安裝目錄下就會顯示home目錄;
(3)解壓Lua到指定目錄:解壓LUA到/home/yourname下面。修改src/Makefile,將CC = gcc改成CC = gcc -mno-cygwin,然後執行
make mingw
make install
luac
如果出現以下文字則表示安裝成功。
d:/cygwin_new/usr/local/bin/luac.exe: no input files given
usage: d:/cygwin_new/usr/local/bin/luac.exe [options] [filenames].
Available options are:
- process stdin
-l list
-o name output to file 'name' (default is "luac.out")
-p parse only
-s strip debug information
-v show version information
-- stop handling options
(4)解壓源碼和庫到指定目錄
解壓源碼到(D:/cygwin/home/yourname)下,解壓庫到cygwin/下。這裡的解壓都可以直接用winrar解壓,不過要選對目錄喲,源碼是解壓在D:/cygwin/home/yourname下面,庫是解壓到D:/cygwin/下面。注意:所以的解壓方式,是點擊右鍵,然後點解壓檔案(Lua解壓,vlc1.1.3解壓,庫解壓,都是這樣操作),這樣就會把檔案解壓到指定的目錄。 (5)刪除linux的編輯命令:刪除/usr/win32/bin下面的moc,rcc,uic這三個檔案,注意,保留moc.exe,rcc.exe,uic.exe。moc,rcc ,uic 主要是在linux下使用的,為了防止衝突,在windows下講它刪掉: (6)運行boststrap cd到vlc-1.1.3中執行./bootstrap這是一個漫長的過程,耐心等待 (7)編譯configvlc.sh(不要使用txt裡面粘貼下面代碼哦)在cygwin下,vi configvlc.sh ,然後將下面的語句粘貼在vi裡面,然後儲存退出,執行./configvlc.shPATH=/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 /
--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-dvdnav-config-path=/usr/win32/bin /
--disable-vcdx --enable-goom /
--enable-twolame --enable-dvdread /
--enable-debug --enable-dca /
--disable-mkv --disable-taglib --disable-projectm /
--disable-zvbi --disable-schroedinger --disable-dirac /
--enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk 這個地方如果選擇的庫和源碼不匹配,就編譯不過去,會報錯 成功後會顯示
libvlc configuration
--------------------
version : 1.1. 3
system : mingw32
architecture : i686 mmx sse sse2
build flavour : debug devel
vlc aliases : cvlc rvlc svlc qvlc
plugins/bindings : activex mozilla
You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type `./compile' or `make'.
(8)修改makefile.am的下列行,就是行首加入#(採用搜尋的方法尋找哦)。
# cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win3
2_destdir)/"
# cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des
tdir)/mozilla/
#cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_des
tdir)/activex/
(9)然後make 編譯,呵呵,這個時間更長,回家吃個飯來看結果吧,應該不會有錯
(10)打包
振奮人心的時候,終於到了,呵呵,將自己編譯的東西打包成綠色版會安裝版,讓自己高興下,給自己增加信心,呵呵,下面介紹打包的命令:
make package-win32-base :打包成綠色版
make package-win32-zip: 打包成.zip 檔案
(11)安裝包製作
恰好我的電腦安裝Nsis,就按照海狗哥部落格中的方法製作下安裝包,呵呵,做好安裝包還能夠用,將方法介紹如下:首先安裝Nsis
在第10步中,我們得到了綠色版和.zip檔案,然後找到vlc.win32.nsi,然後點擊右鍵,選擇compile Nsis script ,這樣會報錯,按照它提示的錯誤開啟vlc.win32.nsi(我是用UltraEdit開啟的),然後找到對應的行,在前面加;號,即將該行注釋掉,然後重複這個操作,編譯成功。到這裡,vlc的編譯就介紹完畢了。如果大家有不清楚的地方,參考jeremiah的部落格吧!