天天看点

我编译安装libjrtp的方法

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:

测试成功!