2009年2月13日 星期五

安裝IHU - I Hear You

之前學長留下來的MOD是架構在SCTP上,透過handover的機制,當其中一條斷線時,可以馬上切換到另外一條線路。
主要是當使用無線網路的時候,透過同時使用兩個線路的情況下,讓通話穩定度比較好~

而MOD是修改IHU (I hear you)而來的,所以,今天安裝IHU來試試看吧~

0. 需要有qt3與libogg-dev的套件
$ sudo apt-get install libogg-dev libqt3-mt-dev qt3-apps-dev qt3-assistant qt3-designer qt3-dev-tools qt3-doc qt3-examples qt3-qtconfig

1. 下載IHU原始檔
下載網址
$ wget http://jaist.dl.sourceforge.net/sourceforge/ihu/ihu-0.6.0.tar.gz

2. 解壓縮
$ tar -zxvf ihu-0.6.0.tar.gz

3. 產生Makefile,並且把安裝路徑設定在$HOME/ihu
$ cd ihu-0.6.0
$ ./configure --prefix=$HOME/ihu

4. 執行ihu
$ cd $HOME/ihu/bin
$ ./ihu

====================================
錯誤訊息:
因為我的qt環境是qt3與qt4共存的,因此,在configure時,會先找到Qt4的執行檔,所以,必需要把qt3的bin目錄擺在PATH的最前面。
$ export PATH=/usr/share/qt3/bin:$PATH

[2009.04.02 補充]
今天在ubuntu 8.04編譯IHU,出現很多套件沒有預設安裝,所以,必需要補安裝,把錯誤訊息列在下面,並且安裝的套件也列在裡面
checking for __gmpz_init in -lgmpxx... no
configure: error: GNU MP not found, download at http://swox.com/gmp

sudo apt-get install libgmp-ocaml-dev

checking for snd_pcm_writei in -lasound... no
configure: error: ALSA needed! Download at http://www.alsa-prject.org

sudo apt-get install libasound2-dev

checking for speex_encode in -lspeex... no
configure: error: Speex needed! Download at http://www.speex.org

sudo apt-get install libspeex-dev

checking for soundtouch/SoundTouch.h... no
configure: error: Soundtouch needed! Download at http://www.surina.net/soundtouch/

sudo apt-get install libsoundtouch-ocaml-dev


[2009.04.25 補充]
目前打算做出在sctp上,可以傳送語音、影像、文字的應用程式
影像的部分先在tcp上完成了,透過opencv來完成。
語音的部分,可能主要是要參考IHU來試試看,另外,原本IHU是透過GNU Autoconf 及 Automake 這兩個軟體來產生Makefile,也就是打./configure指令就會產生Makefile的過程,因為那太複雜了,還是用qmake來產生就好啦~

先進入src目錄。
以下面的指令產生src.pro檔案
$ qmake-qt3 -project
修改src.pro檔案
在INCLUDEPATH下面加入LIBS這一行
LIBS += -lasound -lgmpxx -lspeex -lSoundTouch -logg
然後再打以下指令
$ qmake-qt3
$ make

第一行是產生Makefile
第二行是編譯
在編譯的過程中,會產生一些錯誤,均是因為透過GNU Autoconf 及 Automake 成產生的變數,這個時候把它設定為字串或是把它刪除就好~
另外還有另一個除去錯誤的方法。
因為會出現錯誤,是因為若透過./configure會產生一個config.h
裡面有設定一些變數
當然要產生這一個檔案,就要先運行./configure
這個時候只要在Config.h這一個檔案,把#include "config.h"的上下個一行刪除,
基本上應該就可以正常運行啦~

沒有留言: