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)make install
注:执行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)make install
装好以后系统环境如下,静态动态库安装到了/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端