天天看點

windows平台下vlc編譯之一:編譯環境建構(轉自jeremiah的部落格)

windows平台下vlc編譯之一:編譯環境建構(2008.12.03更新)

2008-11-21 15:21:44  标簽: windows cygwin compile vlc   [ 推送到技術圈]

版權聲明:原創作品,允許轉載,轉載時請務必以超連結形式标明文章 原始出處 、作者資訊和本聲明。否則将追究法律責任。 http://jeremiah.blog.51cto.com/539865/114190

    Jeremiah剛剛工作幾個月,參與的第一個項目是與視訊監控有關,配置設定給我的任務就是用開源的vlc做一個自己的播放器。     對于開源項目來說,搭建起編譯環境是第一步也是最重要的一步。Jeremiah在曆經5天的痛苦折磨,google出了n多網頁,其中還包括一個德語的網頁和韓語的網頁,終于編譯通過了vlc0.8.6d。百度到的ChinaUnix的一個網頁上面說:編譯vlc感覺就像被...,Jeremiah深有體會啊。不過編譯成功,還是小興奮了一下。啊哈哈~!有些自虐傾向。     在網上查到一個vlc的qq群:49846130。裡面人快滿了,不知道什麼時候開個二群。有興趣的可以加一下,大家共同交流。     廢話不多說了,步入正題。     在windows下編譯vlc需要使用仿真Linux環境Cygwin或者Msys+MingW,據說差不多。但是Jeremiah沒有用過後者,是以在這隻介紹Cygwin環境。       編譯之前的說明:由于最近Cygwin更新了庫檔案,導緻出現了一些新的無法通過編譯的錯誤。Jeremiah将自己的應用的Cygwin的庫檔案傳到了網盤上共享,位址是: 1. http://www.ucomo.com/ 進入之後搜尋Cygwin,類别是“檔案”(而不是“專輯,圖檔,...”),找到檔案名為Cygwin-old(2008.12.03)的檔案。這個網盤ms還行。(搜尋出來的位址ms是: http://www.ucomo.com/space/FileDetail.aspx?domain=JEREMIAH&fileid=55350)( 強烈建議不要用迅雷等下載下傳工具下載下傳,就用firefox或ie自帶的下載下傳工具下載下傳) 2. http://jeremiah.59le.com。不過這個網盤很不穩定。 誰有比較好的共享大檔案的方法,請告訴我一聲。 如果你下載下傳不了,可以到qq群裡面找我,我一般情況下都會在,除了不在的時候。在下面的清單中Jeremiah給出了各個庫檔案的版本,如果采用網絡安裝,請對照好每個庫版本。       編譯第一步:去下載下傳Cygwin。給個網址: http://www.cygwin.com/setup.exe(Jeremiah提供的安裝檔案裡面有,也可以去下新版本的。)       編譯第二步:安裝Cygwin。Cygwin需要安裝到某個盤的根路徑。然後要找個源下載下傳相應的庫,http://www.cygwin.cn/pub相對比較快, ftp://ftp.sjtu.edu.cn/cygwin/作為參考。(如果用的本地的庫檔案,就不用寫這一項)然後就需要安裝其他庫來支援vlc的編譯了。目錄如下: Archive

    unzip (5.52-2)

    zip (2.32-2)

Devel

    autoconf (4-1 2.13-3 2.61-1)

    automake (2-1 1.10-1 1.4p6-4 1.5-2 1.63-3 1.7.9-3 1.8.5-3 1.9.6-2)

    binutils (20080624)

    cvs (1.11.22-1)

    gcc (3.4.4-3)

    gcc-core (3.4.4-3)

    gcc-g++ (3.4.4-3)

    gcc-mingw (20040810-1)

    gcc-mingw-core (20050522-1)

    gcc-mingw-g++ (20050522-1)

    gdb (6.8-2)

    gettext (0.15-1)

    gettext-devel (0.15-1)

    git (1.6.0.2-1)

    libiconv (1.11-1)

    libgcrypt-devel (1.41-4)

    libtool (1.5.27a-1)

    make (3.81-2)

    mingw-runtime (3.15.1-1) 

    nasm (2.02-1)

    patchutils (0.2.31-2)

    pkg-config (0.23a-2)

    subversion (1.5.2-1)

Editor

    vim (7.2-3)

Libs

    expat (2.0.1-1)

    libgcrypt (1.4.1-4)

Web

    curl (optional: for building extras/contrib) (7.16.3-1)

    wget (optional: for building extras/contrib) (1.11.3-1) 經過比較漫長的下載下傳過程,Cygwin就算安裝好了。建議将下載下傳下來的檔案(位于安裝檔案同目錄)保留下來,下次安裝的時候直接從檔案安裝就不用到網上下載下傳了。     第一次運作Cygwin,如果沒有産生下列代碼: Copying skeleton files.

These files are for the user to personalise

their cygwin experience.

These will never be overwritten.

`./.bashrc' -> `/home/wangwei1//.bashrc'

`./.bash_profile' -> `/home/wangwei1//.bash_profile'

`./.inputrc' -> `/home/wangwei1//.inputrc'     則表示windows使用者沒有添加到Cygwin中,運作以下兩條指令添加使用者: mkpasswd -l [-d] > /etc/passwd

mkgroup -l [-d] > /etc/group     其中-d可選,如果你在域中,需要用加入'-d 域名'。     重新開啟Cygwin,在根目錄'/'下就會生成/home/yourname的檔案夾。       編譯第三步:下載下傳源碼及第三方庫。vlc的所有的源碼(*.tar.gz,*.tar.bz2)及編譯好的綠色版(win32/*.zip),安裝版(win32/*.exe)都可以在這裡下載下傳:http://download.videolan.org/pub/videolan/vlc/。Cygwin下編譯vlc最關鍵的就是源碼和第三方庫要相比對,Jeremiah之是以編譯了5天,經曆了n多痛苦的過程,就是因為沒有比對好源碼和第三方庫,導緻了大量的錯誤。上面網址裡面的vlc的版本很多,相對穩定的是vlc-0.8.6*版本,推薦0.8.6i,比對的contrib為:http://download.videolan.org/pub/testing/win32/contrib-20070530-win32-bin-gcc-3.4.5-only.tar.bz2。Jeremiah寫這篇部落格的時候最新的發行版是vlc-0.9.6,其實1.0.0已經在測試了,隻是沒有正式釋出而已(http://nightlies.videolan.org/),vlc各個版本的更新日志參考:http://www.videolan.org/developers/vlc/NEWS。但是Jeremiah沒有編譯成功vlc-0.9.6,0.9.*版本推薦0.9.4,比對的contib為:http://people.videolan.org/~jb/Contribs/contrib-20080811-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2。     Jeremiah将在未來幾篇部落格中詳細介紹編譯0.8.6i和0.9.4。   參考網址: 1. http://rogerfd.cn/?p=127 2. http://www.onlyblog.com/blog2/zyjzyj2000/10242.html 3. http://wiki.videolan.org/Win32CompileCygwinNew

繼續閱讀