Ubuntu 22.04上编译安装c++ libconfig library

Libconfig是一个简单的c及c++库,用于处理结构化的配置文件。libconfig++的配置的文件格式非常简洁,可读性也非常的好,而且是type-aware,普通的配置文件读取后存取的类型为字符串,而Libconfig具有类型意识,因此不需要在应用程序代码中进行字符串解析。

现把编译过程整理一下,以备将来查询。

  1. 首先,确保系统已经安装了必要的编译工具和依赖项。使用以下命令安装它们:
bash 复制代码
sudo apt update
sudo apt install build-essential
  1. 创建安装路径、下载源代码:
bash 复制代码
cd /opt
git clone https://github.com/hyperrealm/libconfig

但采用这种方式有个最大的问题,因为众所周知的原因,国内的网络经常clone不下来,那么只能采用第二下载办法,从官网下载最新版本的tar.gz包:libconfig官网

bash 复制代码
wget https://hyperrealm.github.io/libconfig/dist/libconfig-1.7.3.tar.gz
tar -zxvf libconfig-1.7.3.tar.gz -C /opt/libconfig
  1. 编译并安装
bash 复制代码
cd libconfig-1.7.3
sudo ./configure
sudo make 
sudo make check
sudo make install

.so文件将会安装至:usr/local/lib下

.h文件将会安装至:usr/local/include下

为了将来项目的#include头文件的目录比较清晰,我在/usr/local/include下创建了libconfig目录,并把libconfig.h和libconfig.h++两个头文件迁移至/usr/local/include/libconfig下(这个是个人的编程习惯)。

详细用法可参考官方的PDF文档。

相关推荐
MediaTea2 分钟前
Python OOP 设计思想 13:封装服务于演化
linux·服务器·前端·数据库·python
未定义.2216 分钟前
第3篇:UI自动化核心操作:输入、点击、弹窗、下拉框全场景实战
运维·python·ui·自动化·jenkins·集成测试·pytest
释怀不想释怀9 分钟前
Zabbix(安装模式)
运维·云原生·zabbix
linweidong9 分钟前
AUTOSAR如何自动化生成BSW、RTE、AP模块并进行一致性校验?
运维·实时互动·自动化
大佐不会说日语~11 分钟前
Docker部署旧版本系统MySQL5.7+乱码问题解决方案
运维·docker·容器
阿拉伯柠檬13 分钟前
MySQL复合查询
linux·数据库·mysql·面试
YongCheng_Liang14 分钟前
数据库核心概念深度解析:从基础原理到 SQL 分类
运维·数据库·sql
不秃头的帅哥20 分钟前
Linux 基础 IO 学习笔记
linux·操作系统·io
宇钶宇夕20 分钟前
CoDeSys入门实战一起学习(六):CoDeSys软件模型核心架构——从分层结构到核心元素
运维·自动化
Web极客码21 分钟前
如何在 WordPress 中设置会员内容:简单两步实现注册用户专属访问
运维·wordpress·网站管理·网站维护