1. 编译oRTP海思平台移植ortp20过程如下:
编译及安装
进入主目录:cd ~/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下。
2. 交叉编译oRTP
1)库文件编译
进入主目录:cd ~/ortp-0.20.0
解压
执行如下命令:
a ) ./configure --host=arm-hisi-linux
或 ./configure --prefix=/opt/ortp --host=arm-hisi-linux
注:执行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 是最后生成的库文件和头文件的文件夹
arm-hisi-linux是使用的平台,另外有可能用到arm-hismall-linux(如果编译器不匹配可能造成链接不上库文件)
b)make
c)make install
2)复制头文件和库文件
为了能在hisi平台上运行程序,需要把库文件拷贝到嵌入式文件系统中。分别拷贝到\usr\lib中。
到此ortp的交叉编译环境移植成功。
3 程序编译与测试
1) PC端程序编译
gcc rtp rtprecv.c–o rtprecv –lortp编译接收端程序
2) ARM端程序编译
arm-hisi-linux-gcc rtpsend.c –o rtpsend_arm –lortp -L/opt/ortp/lib 编译ARM端发送程序
-L用来指定库的目录
由于hisi平台下有hisi和hismall两个编译器,造成过 “skipping incompatible”,“ cannot find -lortp”的错误。
3) 测试
分别在PC端运行./rtprecv test 5000
在ARM端运行 ./rtpsend_arm test10.108.20.26 5000
可完成从ARM端发送文件test到PC端。