linux环境中编译exosip2和osip2库

news2024/11/23 10:24:22

1 前言

在开发GB/T 28181信令服务或网关时,要使用SIP协议栈。其中一种熟悉的开源库就是exosip+osip了。在windows环境中编译eXosip2和osip2比较简便;在linux中,默认方式下编译这2个库,也比较方便。如果要指定库的安装目录,那么就不能只简单的make & make install了。下边我们一起来看一下在Centos7.9环境中,指定安装目录编译eXosip2和osip2库的过程。 

2 准备工作

Index of /download/exosip2/

官网提供的是最新版本,如果是之前的版本,编译方法类似。

解压安装包

tar -xzf libosip2-5.3.0.tar.gz
tar -xzf libexosip2-5.3.0.tar.gz

3 编译安装

3.1 编译osip2

因为exosip库依赖与osip库,所以先编译libosip2库。进入解压目录,并查看目录下的文件列表,里边有编译配置文件configure

cd libosip2-5.3.0/

如果是默认编译,那么直接执行下边命令即可,编译后将会安装在/usr/local/lib目录下。

./configure

现在我们指定编译后的库文件安装在目录/usr/local/3rd/中,那么执行下边命令:

./configure --prefix=/usr/local/3rd/osip2-5.3.0

配置好编译环境后,执行编译和安装命令:

make & make install

下边是安装好库的控制台截图:

安装完成后,在/usr/local/3rd目录中,便可以看到osip2-5.3.0的安装包:

里边主要包括库和头文件

库文件如下截图

3.2 编译libexosip2

接着编译libexosip2库,进入编译目录,并查看文件列表,同样的有configure。

cd ../libexosip2-5.3.0/

同样,我们指定编译后的库文件安装在目录/usr/local/3rd/,但是exosip2库依赖于osip2,所以要指定osip2的头文件和库包含路径、库名字,具体命令如下:

./configure --prefix=/usr/local/3rd/exosip2-5.3.0 OSIP_CFLAGS=-I/usr/local/3rd/osip2-5.3.0/include OSIP_LIBS="-L/usr/local/3rd/osip2-5.3.0/lib -losip2 -losipparser2"

配置好编译环境后,编译和安装:

make & make install

下边是安装好库的控制台截图

安装完成后,在/usr/local/3rd目录中,可以看到多了exosip2-5.3.0的安装包。

里边主要包括头文件和库文件:

库文件如下截图:

4 使用

至此,我们在linux系统中成功编译了osip2-5.3.0和exosip2-5.3.0。在项目中使用这两个库时,可以直接使用该目录下生成的头文件和库文件,也可以将其拷贝到项目第三方目录下,怎么方便怎么来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网安入门必备的12个kali Linux工具

kali Linux工具帮你评估 Web 服务器的安全性,并帮助你执行黑客渗透测试。 注意:这里不是所提及的所有工具都是开源的。 1. Nmap Nmap ( 网络映射器 )是一款用于 网络发现 和 安全审计 的 网络安全 工具. 主机发现,端口扫描,版本…

mars3d基于vue3.0的widget使用

mars3d在vue3.0生态上开发了两个gis相关开源项目 mars3d-vue-example 和 mars3d-vue-project,在这两个项目中widget都是非常重要的一个模块。通过widget可以在复杂的场景下非常清晰的管理功能模块之间的互斥关系,管理内存,完成不同的功能模块…

ZBC通证月内已翻倍,Nautilus Chain 上线前夕的“开门红”

近日,Zebec Protocol生态通证ZBC迎来了大涨,据悉该通证月内最高涨幅接近了100%,为一众投资者、社区用户、Zepoch节点等带来了可观的回报,并为生态发展注入了十足的信心。我们看到,Zebec Protocol生态在近期宣布了“销毁…

D1s RDC2022纪念版开发板开箱评测及点屏教程

作者new_bee 本文转自:https://bbs.aw-ol.com/topic/3005/ 目录 芯片介绍开发板介绍RT-Smart用户态系统编译使用感想引用 1. 芯片介绍 RISC-V架构由于其精简和开源的特性,得到业界的认可,近几年可谓相当热门。操作系统方面有RT-Thread&am…

Kubernetes 如何通过ingress-nginx实现应用灰度发布?

在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝…

FATFS函数浅谈 看完学会FATSFS,建议收藏

目录 一、注册工作区域 二、打开文件夹 三、读取文件夹 四、打开\新建一个文件 五、读取文件 六、写文件 七、移动文件指针 八、截断文件 九、刷新缓存消息 十、新建文件夹 十一、删除文件或文件夹 十二、重命名\移动文件或文件夹 十三、获取文件信息 十四、改变…

KNN算法及Python实现

0 建议学时 2学时 1 KNN算法 1.1 KNN原理 KNN:K Nearest Neighbors,即K个最近的邻居; 预测一个新值xxx,根据距离最近的K个点的类别来判断xxx属于哪一类。 算法核心要点: K值的选取非常重要; 距离公式…

山东大学电磁场与电磁波期末试题

文章目录一、电磁场的基本规律二、静态电磁场及其边值问题的解三、分离变量法四、均匀平面波的反射与透射五、时变电磁场与均匀平面波在无界空间中的传播六、导行电磁波七、电磁辐射往年真题回忆复习建议一、电磁场的基本规律 设在 x<0x<0x<0 处为真空&#xff0c;x&…

LeetCode分类刷题----回溯算法

回溯1.回溯问题77.组合216.组合总和|||17.电话号码的字母组合39.组合总和40.组合总和||131.分割回文串93.复原IP地址78.子集90.子集||491.递增子序列46.全排列47.全排列||51.N皇后37.解数独1.回溯问题 77.组合 思路&#xff1a; 回溯的本质是用一棵树来描述&#xff0c;用pat…

Gitee码云 操作

1&#xff1a;Git团队协作机制1.1&#xff1a;团队内协作1.2&#xff1a;跨团队协作2&#xff1a;Gitee码云 操作码云网址&#xff1a; https://githee.com/2.1&#xff1a;创建远程仓库2.2&#xff1a;远程仓库操作命令名称作用git remote -v查看当前所有远程地址别名git remo…

Java缓存面试题——Redis应用

文章目录1、为什么要使用Redis做缓存&#xff1f;2、为什么Redis单线程模型效率也能那么高&#xff1f;3、Redis6.0为什么要引入多线程呢&#xff1f;4、Redis常见数据结构以及使用场景字符串&#xff08;String&#xff09;哈希(Hash)列表&#xff08;list&#xff09;集合&am…

【机器学习】马尔可夫链与隐马尔可夫模型(HMM)

1.马尔可夫链(Markov Chain) 马尔可夫链&#xff08;Markov chain&#xff09;&#xff0c;又称离散时间马尔可夫链&#xff08;discrete-time Markov chain&#xff09;&#xff0c;因俄国数学家安德烈马尔可夫&#xff08;A.A.Markov&#xff09;得名。描述的是状态空间中经过…

Win11系统user profile service服务登录失败解决方法

Win11系统user profile service服务登录失败解决方法分享。有用户在使用电脑的时候遇到了一些问题&#xff0c;系统的user profile service服务无法登录了。出现这个问题可能是系统文件损坏&#xff0c;或者中了病毒。接下来我们一起来看看如何解决这个问题的操作方法分享吧。 …

【unity细节】基于unity子对象(如相机)为什么无法进行z轴的拖拽移动和z轴自动归位的问题

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity细节和bug ⭐基于unity子对象为什么无法进行z轴的拖拽移动和z轴自动归位⭐ 文章目录⭐基于u…

学习系统编程No.5【虚拟地址空间】

引言: 北京时间&#xff1a;2023/2/22&#xff0c;离补考期末考试还有5天&#xff0c;不慌&#xff0c;刚午觉睡醒&#xff0c;闹钟2点20&#xff0c;拖到2点50&#xff0c;是近以来&#xff0c;唯一一次有一种睡不醒的感觉&#xff0c;但是现在却没有精神&#xff0c;因为听了…

【Spring Cloud Alibaba】007-Nacos 配置*

【Spring Cloud Alibaba】007-Nacos 配置* 文章目录【Spring Cloud Alibaba】007-Nacos 配置*一、概述1、概述2、对比 spring cloud config二、基本使用1、在管理界面新建配置2、启动权限3、 搭建 nacos-config 服务第一步&#xff1a;引入依赖第二步&#xff1a;修改 yaml 配置…

交叉编译 MQTT/Mosquitto

交叉编译 MQTT/Mosquitto 概述 Eclipse Mosquitto 是一个开源&#xff08;EPL/EDL许可&#xff09;消息代理&#xff0c;它实现了 MQTT 协议版本 5.0、3.1.1 和 3.1。Mosquitto 重量轻&#xff0c;适用于从低功耗单板计算机到全服务器的所有设备。 MQTT 协议提供了一种使用发…

【Linux】-- 开发工具(vim、gcc、g++、make/Makefile)

目录 Linux编辑器-vim使用 vim的基本概念 vim的简单配置 vim的基本操作 vim进阶命令集 插入模式 从插入模式切换为命令模式 移动光标 删除文字 复制 替换 撤销上一次操作 更改 跳至指定的行 vim底行模式命令集 列出行号 跳到文件中的某一行 查找字符 保存文…

黑马程序员 Java 项目《瑞吉外卖》

教程链接&#xff1a;https://www.bilibili.com/video/BV13a411q753 Gitee 仓库&#xff1a;https://gitee.com/weixinyang1980/reggie_take_out 运行视频&#xff1a; 瑞吉外卖后台运行视频 瑞吉外卖用户端运行视频 目录开发环境搭建数据库环境搭建Maven 项目搭建后台登录功能…

通过连接另一个数组的子数组得到一个数组

给你一个长度为 n 的二维整数数组 groups &#xff0c;同时给你一个整数数组 nums 。 你是否可以从 nums 中选出 n 个 不相交 的子数组&#xff0c;使得第 i 个子数组与 groups[i] &#xff08;下标从 0 开始&#xff09;完全相同&#xff0c;且如果 i > 0 &#xff0c;那么…