1. 编译oRTP ok6410移植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-linux --prefix=/home/xiagedongr/arm-ortp --with-shared CC=/usr/local/am/4.4.3/bin/arm-linux-gcc
配置选项--host=arm-linux指明程序运行的系统平台,arm-linux
配置选项--prefix=/home/xiagedongr/arm-ortp指明编译结果安装路径
配置选项 --with-shared 指明编译生成共享库文件
配置选项CC=/usr/local/am/4.4.3/bin/arm-linux-gcc配置交叉编译器路径
配置的参数CC似乎不起作用,或者根本没有此参数。这与configure脚本文件配置的参数有关。可以通过 configure –help查看配置参数及含义
配置后,
注:执行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__ */
b)make
c)make install
2)复制头文件和库文件
[root@localhost lib]# file libortp.so.8.0.0
libortp.so.8.0.0: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped
需要把库文件拷贝到嵌入式文件系统中。分别拷贝到\usr\lib中。到此ortp的交叉编译环境移植成功。
3 程序编译与测试
1) PC端程序编译
gcc testcam0711.c -o testcam0711 -lortp -L /home/xiagedongr/arm-ortp/lib/ -I /home/xiagedongr/arm-ortp/include/编译接收端程序
2) ARM端程序编译
arm-linux-gcc testcam0711.c -o testcam0711 -lortp -L /home/xiagedongr/arm-ortp/lib/ -I /home/xiagedongr/arm-ortp/include/
编译ARM端发送程序 -L用来指定库的目录 -I 为头文件目录