1. 移植到DM6446開發板
1)下載oRTP源碼: http://download.savannah.gnu.org.sixxs.org/releases/linphone/ortp/sources/
我們用最新的版本ortp-0.20.0.tar.gz
22-Feb-2012 16:22
503K
2)庫文件編譯
解壓到 /opt/ortp-0.20.0
進入主目錄:cd /opt/ortp-0.20.0
執行如下命令:
a ) ./configure --prefix=/opt/ortp --host= arm-montavista-linux --disable-staticCC=arm_v5t_le-gcc
b)make
c)makeinstall
注:執行make時程序報錯我們把文件/ortp-0.20.0/src/b64.c 中209-212行注釋掉即可
#ifndef__WATCOMC__
// assert(characters[0] >= 0&& characters[0] < 64);
// assert(characters[1] >= 0&& characters[1] < 64);
// assert(characters[2] >= 0 &&characters[2] < 64);
// assert(characters[3] >= 0 &&characters[3] < 64);
#endif /*__WATCOMC__ */
完成後在/opt/ortp目錄下生成文件夾
3)復制頭文件和庫文件
a) 把 include下的ortp文件夾拷貝到
/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include文件夾下,注意:是將整個ortp文件下一起拷貝,如果只拷貝裡面的.h文件,在程序編譯時會報錯。
b) 把lib文件夾裡邊的除文件夾pkgconfig以外的文件拷貝到
/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/armv5tl-montavista-linuxeabi/lib
c) 為了能在DM6446平台上運行程序,需要把庫文件和頭文件拷貝到嵌入式文件系統中。分別拷貝到\usr\lib和\usr\include中。
到此ortp的交叉編譯環境移植成功。
2. 移植到linux PC機
進入主目錄:cd /opt/ortp-0.20.0
執行如下命令:
a)./configure
b)make
c)makeinstall
裝好以後系統環境如下,靜態動態庫安裝到了/usr/local/lib目錄下,包括libortp.la、libortp.so libortp.so.8 libortp.so.8.0.0。頭文件在/usr/local/include目錄ortp目錄下。
庫文件復制到/usr/lib文件夾下,頭文件復制到/usr/include下。
3. 程序編譯與測試
1) PC端程序編譯
gcc rtp rtprecv.c–o rtprecv –lortp編譯接收端程序
2) ARM端程序編譯
arm_v5t_le-gcc rtpsend.c –o rtpsend_arm –lortp 編譯ARM端發送程序
3) 測試
分別在PC端運行./rtprecv test 5000
在ARM端運行 ./rtpsend_arm test10.108.20.26 5000
可完成從ARM端發送文件test到PC端。