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文档。

相关推荐
吴声子夜歌1 分钟前
Nginx应用与运维——Nginx在Kubernetes中的应用(三)
运维·nginx·kubernetes
小小龙学IT7 分钟前
ROS2 安装完全指南(Ubuntu 版):从零开始到跑通第一个节点本文
linux·运维·ubuntu
Ruiery8 分钟前
Linux 6.6内核 CPU 深度解析(十二):SMT 进阶 — core scheduling 与共享算力的负载平衡
linux·运维·服务器
影视飓风TIM10 分钟前
Linux 进程虚拟地址空间详解
linux·算法
硅基手札20 分钟前
【Linux内核专栏 12】VFS 与文件系统
linux
水饺编程31 分钟前
第1章:开发环境搭建,在 Windows 中安装 VS 2019
linux·c语言·汇编·visual studio
supabc12342 分钟前
Celium:连接 Windows、Mac、Linux 与 Android,让远程访问和设备管理更简单
android·linux·windows·macos·远程访问·网络管理·celium
2401_872418781 小时前
Windows服务器:错误 403 - 禁止访问:本地 FTP 上传文件到网站服务器后提示无访问权限
运维·服务器·windows
吴声子夜歌1 小时前
Nginx应用与运维——Nginx在Kubernetes中的应用(二)
运维·nginx·kubernetes
ShineWinsu1 小时前
对于Redis:RDB持久化的解析
linux·数据库·redis·缓存·面试·持久化·rdb