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

相关推荐
饭来_2 分钟前
Ubuntu 中出现 CondaToSNonInteractiveError 的解决方法
ubuntu·conda·debug
做运维的阿瑞26 分钟前
利用GitHub配置镜像加速,解决 Docker镜像拉取问题
运维·docker·容器·github
Huangjin007_27 分钟前
【Linux 系统篇(二十八)】文件(五):Ext 系列文件系统(下):Ext2块组结构,inode与文件寻址原理
linux·运维·服务器
javachen__40 分钟前
JsonView:一套VO实现多角色字段返回
java·linux·服务器
睡一觉就好了。1 小时前
TcpSocket
linux
小陈运维1 小时前
使用kubeadm初始化IPV4/IPV6集群
linux·docker·云原生·容器·kubernetes
东风微鸣1 小时前
精简 Ubuntu Linux 固件包:每个 N100 节点省下约 450 MB
linux·ubuntu·postgresql
snhna1 小时前
Agent 上云部署实战(上):从 GitHub 到 Linux,用 Dify 跑通中间件、域名和 HTTPS
linux·中间件
jaronho2 小时前
【脚本】 【Linux】启动所有网卡
linux·运维·服务器
草莓熊Lotso2 小时前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j