1. 程式人生 > >ubuntu 12.04編譯vlc詳細過程

ubuntu 12.04編譯vlc詳細過程

本文介紹ubuntu下android-vlc編譯的過程,主要記錄了編譯過程中碰的到問題及解決方案,如果可以為其他人編譯vlc提供幫助,將是我的榮幸。

一 編譯環境搭建:

1.下載配置NDK環境:

使用版本android-ndk-r9

下載地址:http://www.126disk.com/fileview_1441036.html

2.下載配置SDK環境:

使用版本:adt-bundle-linux-x86-20140702.zip

將壓縮包解壓到/opt目錄下就可以。

3.安裝JDK環境

使用版本:jdk1.7.0_71

安裝至/opt目錄下

4.設定NDK,SDK,JDK環境變數

編輯環境變數設定指令碼:vim env.sh

#!/bin/sh

export JAVA_HOME=/opt/jdk1.7.0_71
export JRE_HOME=/opt/jdk1.7.0_71/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$ANT_HOME

export NO_NEON=1
export ANDROID_SDK=/opt/adt-bundle-linux-x86-20140702/sdk
export ANDROID_NDK=/opt/android-ndk-r9
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
export ANDROID_ABI=armeabi-v7a

編輯完成後,設定變數:source env.sh

二 編譯前需要下載安裝的工具:

0.安裝編譯vlc依賴的其他庫:

$ sudo apt-get build-dep vlc  

1.下載安裝 git 工具:

# apt-get install git

2.下載安裝 ant工具:

# apt-get install ant

注:此處下載安裝ant 會一併下載安裝 openJDK,但不影響編譯。

3.下載安裝一下工具:

# apt-get install wget

# apt-get install autoconf

# apt-get install libtool

# apt-get install subversion

# apt-get install xfig

# apt-get install texinfo

有些版本可能需要安裝automake-1.13,aclocal-1.13版本,直接將automake-1.13連結到automake也可以

ln -s automake automake-1.13

三 編譯vlc-android 

1. 新建一個編譯目錄

mkdir ~/vlc-android

cd ~/vlc-android

2. 下載原始碼

git clone git://git.videolan.org/vlc-ports/android.git

3.開始編譯

sh compile.sh

下面開始比較長時間的編譯,因為需要下載和安裝vlc原始碼和第三方的軟體,比如音視訊解碼ffmpeg等

4.可能出現的編譯錯誤

下載第三方軟體可能出現超時等下載失敗,這時會中斷編譯,最好是失敗後,將失敗時顯示的下載地址輸入瀏覽器,用瀏覽器下載後,拷貝到目錄~/vlc-android/android/vlc/contrib/tarballs

LibVNCServer-0.9.9.tar.gz  libdvbpsi-1.2.0.tar.bz2    libmodplug-0.8.8.5.tar.gz  nettle-2.7.1.tar.gz
a52dec-0.7.4.tar.gz        libdvdcss-1.3.0.tar.bz2    libmpeg2-0.5.1.tar.gz      openjpeg-1.5.0.tar.gz
ffmpeg-HEAD.tar.gz         libdvdnav-5.0.1.tar.bz2    libogg-1.3.2.tar.xz        opus-1.1.tar.gz
flac-1.3.0.tar.xz          libdvdread-5.0.0.tar.bz2   libpng-1.6.12.tar.xz       postproc-git.tar.gz
freetype-2.5.3.tar.gz      libebml-1.3.0.tar.bz2      libssh2-1.4.3.tar.gz       protobuf-2.5.0.tar.bz2
fribidi-0.19.6.tar.bz2     libgcrypt-1.6.2.tar.bz2    libtheora-1.1.1.tar.xz     protobuf-2.6.0.tar.bz2
gettext-0.19.2.tar.gz      libgpg-error-1.15.tar.bz2  libtool-2.4.2.tar.gz       ragel-6.8.tar.gz
gmp-6.0.0.tar.bz2          libgsm_1.0.13.tar.gz       libvorbis-1.3.4.tar.xz     speex-git.tar.gz
gnutls-3.2.17.tar.xz       libiconv-1.14.tar.gz       libxml2-2.9.1.tar.gz       speexdsp-git.tar.gz
jpegsrc.v9a.tar.gz         libmad-0.15.1b.tar.gz      live.2014.07.25.tar.gz     taglib-1.9.1.tar.gz
libass-0.11.2.tar.gz       libmatroska-1.4.1.tar.bz2  mpg123-1.21.0.tar.bz2      zlib-1.2.8.tar.gz

5.編譯完成

看到如下資訊就表示編譯完成了

debug:
BUILD SUCCESSFUL
Total time: 1 minute 3 seconds

我是使用的VLC程式碼工程: 

連結:http://pan.baidu.com/s/1mgolVCW 密碼:2bk3

附錄:

編譯過程中可能還會遇到的問題

1) libtool錯誤

因為vlc編譯的許多工具都是自行下載後編譯,因此出現libtool提示錯誤,可能是由於沒有安裝libtool,注意這不是說系統沒有安裝,而是下載後安裝的libtool沒有將庫檔案拷貝安裝到vlc指定的目錄,導致編譯時沒有找到相關的環境。出現此類錯誤,需要下載

libtool壓縮包,版本號從~/vlc-android/vlc/extras/tools/packages.mak中查詢,用瀏覽器下載到此目錄,然後解壓縮後編譯

cd libtool-2.4.2

./bootstrap

./configure

make & make install

這樣編譯後只是安裝到了系統的目錄下,並沒有安裝到vlc指定目錄下,因此需要將安裝在系統目錄下的檔案拷貝到~/vlc-android/vlc/extras/tools/build/目錄下

如下:

[email protected]:~/vlc-android/vlc/extras/tools/build$ tree -d
.
|-- bin
|-- doc
|   `-- cmake-2.8
|       |-- cmcompress
|       |-- cmcurl
|       |-- cmexpat
|       |-- cmlibarchive
|       |-- cmsys
|       `-- cmzlib
|-- include
|   |-- google
|   |   `-- protobuf
|   |       |-- compiler
|   |       |   |-- cpp
|   |       |   |-- java
|   |       |   `-- python
|   |       |-- io
|   |       `-- stubs
|   `-- libyasm
|-- lib
|   `-- pkgconfig
|-- man
|   `-- man1
`-- share
    |-- aclocal
    |   `-- internal
    |-- aclocal-1.14
    |   `-- internal
    |-- autoconf
    |   |-- Autom4te
    |   |-- autoconf
    |   |-- autoscan
    |   |-- autotest
    |   `-- m4sugar
    |-- automake-1.14
    |   |-- Automake
    |   `-- am
    |-- cmake-2.8
    |   |-- Modules
    |   |   |-- CMakeAddFortranSubdirectory
    |   |   |-- Compiler
    |   |   |-- CompilerId
    |   |   |-- FindCUDA
    |   |   |-- FortranCInterface
    |   |   |   `-- Verify
    |   |   |-- IntelVSImplicitPath
    |   |   `-- Platform
    |   |-- Templates
    |   |-- completions
    |   |-- editors
    |   |   |-- emacs
    |   |   `-- vim
    |   `-- include
    |-- doc
    |   |-- automake
    |   |-- pkg-config
    |   `-- ragel
    |-- info
    |-- libtool
    |   |-- config
    |   `-- libltdl
    |       |-- libltdl
    |       `-- loaders
    `-- man
        |-- man1
        `-- man7


67 directories
[email protected]:~/vlc/android/vlc/extras/tools/build$ 

2) BUILD FAILED
/opt/adt-bundle-linux-x86-20140702/sdk/tools/ant/build.xml:542: Unable to resolve project target 'android-19'

碰到這個問題,其實很簡單,是因為SDK沒有安裝相應的API版本

進入/opt/adt-bundle-linux-x86-20140702/sdk/tools,執行sudo ./android

注意:一定要sudo,否則沒有許可權安裝

選擇需要安裝的版本號,可以從~/vlc-android/vlc-android/project.properties中檢視target=android-19

安裝完成後,重新sh compile.sh就可以了

3)編譯mpg123

編譯vlc/modules/codec/mpg123.c最後發生連結錯誤,mpg123_close等函式連結失敗

如果暫時不用mpg123編碼,將連結失敗的地方都註釋後編譯就可以了。

相關推薦

ubuntu 12.04編譯vlc詳細過程

本文介紹ubuntu下android-vlc編譯的過程,主要記錄了編譯過程中碰的到問題及解決方案,如果可以為其他人編譯vlc提供幫助,將是我的榮幸。 一 編譯環境搭建: 1.下載配置NDK環境: 使用版本android-ndk-r9 下載地址:http://www.12

ubuntu 12.04編譯及除錯linux-0.11

(更新中.....) 最近開始研究linux-0.11,編譯過程就遇到各種奇葩情況......好不容易編譯通過了....可是還是不能載入執行.... 下面是我學習過程記錄: 1.開始我用gcc-3.2.2-5.i386.rpm編譯linux-0.11, 你也知道rpm包在u

MySQL5.6.12原始碼編譯安裝詳細過程

本人轉自:http://blog.csdn.net/mchdba/article/details/35994251 1 下載安裝包download tar.gz wget http://download.csdn.net/detail/mchdba/7545037​ ps:

Ubuntu 12.04 編譯核心步驟 + Fedora 10 編譯核心步驟(圖)

MPlayer-1.0rc4.tar.gzhttp://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.gz all-20110131.tar.bz2http://www.mplayerhq.hu/MPlaye

Ubuntu 12.04嵌入式交叉編譯環境arm-linux-gcc搭建過程圖解

安裝前的絮叨 首先簡單介紹一下,所謂的搭建交叉編譯環境,即安裝、配置交叉編譯工具鏈。在該環境下編譯出嵌入式Linux系統所需的作業系統、應用程式等,然後再上傳到目標機上。 交叉編譯工具鏈是為了編譯、連結、處理和除錯跨平臺體系結構的程式程式碼。對於交叉開發的工具鏈來說,在檔名稱上加了一個字首,用來區別本地的

ubuntu-12.04.5下編譯openjdk8

    1、下載jdk1.7並配置相關環境變數 輸入如下命令開啟檔案:  gedit ~/.bashrc 在.bashrc檔案末尾假如如下語句: #java jdk configuration export JAVA_HOME=/usr/lib/j

【轉】Ubuntu 12.04上安裝和配置Postfix郵件服務詳細教程

原文網址 https://yq.aliyun.com/ziliao/29593 郵件伺服器配置之所以麻煩是因為需要了解很多東西,牽涉到域名服務 DNS/Bind,Web 收發郵件 Apache/PHP/MySQL/SquirrelMail,認證服務 LDAP, Ker

ubuntu 12.04(gcc降級)編譯android程式碼遇到"_FORTIFY_SOURCE"的解決方法

一、編譯報錯 external/yaffs2/yaffs2/yaffs_tagsvalidity.h:23:6: warning: redundant redeclaration of ‘yaffs_InitialiseTags’ [-Wredundant-decls]

ubuntu 12.04 64位安裝KLEE過程中遇到的問題

問題一:llvm-gcc -v顯示gcc-4.6.3 情況:Ubuntu 12.04 64bit系統安裝後,修改為bupt的源,然後sudo apt-get update。當時網路環境不好,官網llvm-gcc 4.2版本無法下載,於是就sudo ap

ubuntu 12.04編譯安裝nginx-1.9.3之後 tomcat叢集

   一、tomcat安裝   1.安裝nginx 請檢視http://blog.csdn.net/liangzi4454/article/details/47023447    2. jdk安裝不在贅述,不會的同學,可以網上查詢教程;    3. tomcat下載    

Ubuntu 12.04 64bit搭建Android編譯環境後,重啟卡住在Ubuntu logo,進不了圖形介面

    搭建android編譯環境,先要安裝以下包: sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 \

UBUNTU 12.04下傻瓜式簡單安裝arm-linux-gcc等gnu arm toolchain交叉編譯工具

歡迎轉載,轉載時請保留作者資訊,謝謝。 1. 驗證無誤的工具鏈安裝(能正常編譯linux,busybox等): 可以去這個地址下載工具鏈,是作者上傳的,要2分,當是辛苦分了,要免費的可以去min2440官網下載,地址我在下面也貼出來了。 CSDN下載連結:htt

Ubuntu 12.04軟體中心安裝flash外掛過程失敗解決辦法

Ubuntu12.04軟體中心安裝flash外掛過程失敗解決辦法 安裝了Ubuntu12.04後,我使用火狐瀏覽器登入百度文庫搜一些介紹curses庫的資料,發現瀏覽器沒有flash外掛,這時貼心的火狐娘提示我安裝缺失外掛,於是就按照提示更新外掛,在安裝嚮導中,我選擇了ad

Linux - Ubuntu中文輸入法安裝(Ubuntu 12.04)

就會 strong end alt con soft 鍵盤 linux 過程 Ubuntu中文輸入法安裝(Ubuntu 12.04)本文地址:http://blog.csdn.net/caroline_wendyUbuntu作為Linux常見的操作系統,是須要熟練使用的。

Ubuntu 12.04 安裝Tomcat7

選擇 ubun 成功 rtu 配置 宋體 pac nload ria 1.下載Tomcat7 打開Tomcat官網 http://tomcat.apache.org,在左邊的導航欄的“Download"中找到Tomcat7.0目錄,點擊後進入Tomcat7的頁面,選擇

制作U盤啟動盤將Ubuntu 12.04升級為14.04的方法

windows ins u盤啟動 live use 版本 radi 啟動盤 ubunt 1 介紹 在周六的下午,我決定想高速瀏覽一下書籍[1]。看看這個關於Ubuntu的聖經到底在講什麽東東。感覺講的不錯,當我看到介紹文件標記語言—TeX和LaTeX的時候,該

Ubuntu 16.04 編譯安裝 ss

ast logs sha timeout odi http end ibm 大小 在網上沒有找到合適的適合ubuntu的ss客戶端, 考慮到ss的編譯安裝其實就帶了ss-local這樣的客戶端, 於是在Ubuntu下編譯安裝了ss. 首先去github上下載最新的安裝包 h

制作ubuntu 12.04鏡像

guest ret 啟動 mod apt virtio figure ssh 錯誤 #啟動UFW防火墻 sudo ufw enable #允許所有的外部IP訪問本機的22/tcp (ssh)端口 sudo ufw allow 22/tcp 在

ubuntu 12.04 簡單配置samba服務,實現主機與虛擬機互通(設置Windows虛擬盤)

完成 sam inux ... conf restart bridged 要求 system 環境: virtualbox ubuntu12.04 首先,如果你到這步了,說明你的window與linux的網絡已經配好了,他們之間是可以互相Ping通的,如果沒有,請看我以

Ubuntu 16.04 Server 版安裝過程圖文詳解

安裝ununtu16.04.3首先,我們會進入系統安裝的第一個界面,開始系統的安裝操作。每一步的操作,左下角都會提示操作方式!1.選擇系統語言-English2.選擇操作-Install Ubuntu Server3.選擇安裝過程和系統的默認語言-English4.選擇區域-othe5.選擇亞洲-Asia6.