关于gb2818的学习第一课
一、说明
为什么写这一系列的文章,自己在做gb28181是的一下痛苦的经历,在经过了网上的大量资料终于有所进步,所以想回馈一下大神们。
二、安装
参考文章:Linux编译sip库及第一个demo_zhuxian2009的专栏-CSDN博客(他是3.6版本的)
1.安装ubuntu16.04
2.下载sip库:libeXosip2-5.0.0.tar.gz libosip2-5.0.0.tar.gz(本实验将在5.0.0的版本下进行)
下载地址:http://download.savannah.gnu.org/releases/exosip/
3.编译
解压以后,出现两个文件夹:
然后进行编译,一句一句执行,先切换到目标文件夹,在configure,在make,在make install,如下:
cd libosip2-5.0.0
./configure
make
make install
cd libeXosip2-5.0.0
./configure --disable-openssl
make
make install
4.一个简单的demo
main.cpp
#include <eXosip2/eXosip.h>
int main()
{
struct eXosip_t *eCtx;
eCtx = eXosip_malloc();
int i=0;
i=eXosip_init(eCtx);
if(i!=0)
return -1;
printf("========= %s",eXosip_get_version());//打印当前sip库的版本号
getchar();
return 0;
}
4.1编译(调用sip动态库):
g++ main.cpp -o main -leXosip2 -losip2 -losipparser2
运行(因为sip编译完的动态库在/usr/local/lib目录下):
LD_LIBRARY_PATH=/usr/local/lib ./main
4.2编译(调用sip静态库):
编译完的sip库的静态库也在/usr/local/lib目录下,我把他们考了出来,放在了工程目录的lib目录下
然后编译
g++ -pthread src/main.cpp -o main -L./lib -leXosip2 -losip2 -losipparser2 -lresolv
执行:
./main
运行结果
完成!接来讲gb28181注册的流程