转载地址:http://blog.csdn.net/laotie1015/article/details/8282167
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:
测试成功!