1、安装包:jrtplib-3.7.1.tar.gz jthread-1.2.1.tar.gz
2、步骤:
1)分别解压两个安装包
注意在src/rtpconfig_unix.h 中注销掉大端模式
//#define RTP_BIG_ENDIAN // comment this if the target is a little endian system
编译中会出现一些函数没定义的是没加头文件,加上相应头文件就ok了,我这就不多说了
for X86平台
步骤:
进入jthread-1.2.1使用./configure --prefix=/opt/EmbedSky/rtpX86 命令配置 make sudo make install 再进入jrtplib-3.7.1目录 使用./configure --prefix=/opt/EmbedSky/rtpX86 --with-jthread-include=/opt/EmbedSky/rtpX86/include/jthread LDFLAGS=-L/opt/EmbedSky/rtpX86/lib make sudo make install for arm平台 步骤: 一般的板子 由于 内核和文件系统的原因都没有 loginname ,所以 在rtpsession.cpp中:
if (!gotlogin)
{
char *logname = getenv("LOGNAME");
if (logname == 0)
return ERR_RTP_SESSION_CANTGETLOGINNAME;//这里return了一个error
strncpy((char *)buffer,logname,*bufferlength);
}
所以我强制将logname的值设为root,就ok了。
进入jthread-1.2.1使用./configure --prefix=/opt/EmbedSky/rtparm -host=arm-linux CC=arm-linux-gcc CXX=arm-linux-g++ 命令配置 make sudo make install 再进入jrtplib-3.7.1目录 使用./configure --prefix=/opt/EmbedSky/rtparm -host=arm-linux CC=arm-linux-gcc CXX=arm-linux-g++ --with-jthread-include=/opt/EmbedSky/rtparm/include/jthread LDFLAGS=-L/opt/EmbedSky/rtparm/lib make sudo make install 3)测试 libjrtp目录中有个examples目录,里面有5个例子,我们来编译一个X86平台的example1试试 使用命令 g++ example1.cpp -I /opt/EmbedSky/rtpX86/include/jthread -I /opt/EmbedSky/rtpX86/include/jrtplib3 -L /opt/EmbedSky/rtpX86/lib -ljrtp编译 ./a.out 出现 Enter local portbase:
测试成功!