本文討論如何在Ubuntu系統上交叉編譯VLC源代碼。首先,請啓動終端,然後執行以下命令:
-
$sudo
apt-get install gcc-mingw32 mingw32-binutils
-
$git clone git://git.videolan.org/vlc.git
-
$ mkdir -p contrib/win32
-
$ cd contrib/win32
-
$ ../bootstrap --host=i586-mingw32msvc
-
$ make prebuilt
-
如果是64位系統,你必須執行($ rm -f ../i586-mingw32msvc/bin/moc ../i586-mingw32msvc/bin/uic ../i586-mingw32msvc/bin/rcc),並且安裝qt4-tools
-
$cd -(回到vlc源目錄)
-
$ ./bootstrap
-
$ mkdir win32 && cd win32
-
$ ../extras/package/win32/configure.sh --host=i586-mingw32msvc
-
$ make
-
make package-win32
QtCreator集成開發環境編譯調試VLC
作者:lovey599
本文討論如何用QtCreator編譯並調試VLC源代碼。你可以點擊此處下載vlc-1.1.12.tar.gz源代碼,也可以自行去官方下載。筆者編譯VLC時,所用操作系統是Ubuntu 11.10 32bit。你也可以在Windows下編譯源代碼,這裏有指導性的文章(http://wiki.videolan.org/Win32Compile)。但筆者仍然建議在Linux系統下交叉編譯VLC,這可以降低編譯難度和節省大部分的編譯時間。筆者曾經嘗試在Windows7上編譯VLC,至少花費三個小時。而在Ubuntu下編譯,僅僅幾十分鐘。下面附上主要的操作步驟及說明(本文所討論技術同樣適用於Debian系統)。
下載並編譯VLC源代碼,主要步驟如下:
-
$cd ~ && mkdir vlc
2. $wget http://cdnetworks-kr-2.dl.sourceforge.net/project/vlc/1.1.12/vlc-1.1.12.tar.xz
-
$tar xf vlc-1.1.12.tar.xz
-
$apt-get update(更新軟件源,如果可能,請自己配置可用的下載源,用vim編輯/etc/apt/sources.list文件即可)
-
$sudo atp-get build-dep vlc
-
$cd vlc-1.1.12 && ./bootstrap && ./configure --enable-debug(如果此處失敗,請嘗試安裝sudo apt-get install autoconf automake libtool)
如果沒有錯誤消息,表明編譯vlc的庫已經具備。如果有錯誤消息,請根據錯誤提示操作,一般都是需要安裝某個必須的庫。
下面介紹QtCreator的安裝和配置
-
$sudo apt-get install qtcreator qt4-doc-html cmake subversion(在點擊Y繼續安裝之前,系統一般會提示您建議安裝某些軟件,筆者建議你根據系統提示進行安裝。由於這是建議安裝,故而不附加命令)
-
啓動QtCreator,依次點擊工具,選項
-
展開FakeVim,選擇使用FakeVim,調整縮進寬度(ShiftWidth)爲4
-
展開文本編輯器,選擇行爲選項卡,設置製表符寬度爲4
-
展開文本編輯器,選擇顯示,勾選開啓文字折行
-
展開文本編輯器,你可以按照個人習慣設置代碼顏色
-
保存
-
選擇文件,新建文件或工程
-
選擇其它項目,導入現有項目(圖一),爲項目取名爲vlc或者任意你喜歡的名字
-
瀏覽至vlc項目源代碼所在文件夾(~/vlc/vlc-1.1.12)
-
選擇構建,構建項目(vlc)或者構建所有項目
-
打開源文件,插入斷點(比如modules/gui/qt4/dialogs/open.cpp文件第325行插入斷點。單擊源代碼編譯窗口最左邊那一列或者鼠標定位該行,按F9即可。這點與VC的調試是一樣的。習慣VC的人很容易上手QtCreator。如果要察看某個變量的值,右鍵單擊變量名稱,選擇增加到監視窗口即可。你也可以單擊函數或者變量,選擇查找何處被使用即可)
-
按F5以調試模式執行程序或者從調試菜單中啓動調試(圖二)
到此,開始你的代碼調試之旅吧。
Have fun!
有任何不明白的地方或者建議,請發郵件給筆者:[email protected]。歡迎一起討論和學習。
順祝商祺!
2011/12/9 lovey599
附圖:
圖一圖二下載pdf文檔 -