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

相关推荐
ICT系统集成阿祥9 分钟前
校园网络准入认证建设与运维经验
运维·网络·智慧校园·经验总结
颖火虫盟主10 分钟前
Linux USB 探测→枚举→RNDIS 驱动匹配 全流程笔记
linux·运维·笔记
程序猿编码22 分钟前
子域猎手:一款高性能DNS枚举工具的设计与实现
linux·c++·python·c·dns
Full Stack Developme23 分钟前
Linux cd /abc 与 cd /abc/ 区别
linux·运维·服务器
想吃火锅100527 分钟前
【leetcode】20.有效的括号js
linux·javascript·leetcode
buhuizhiyuci35 分钟前
【Linux篇】数字世界程序运行寻找地址的指南针——环境变量的详解
linux·运维·服务器
Shadow(⊙o⊙)36 分钟前
信号1.0,信号概念、signal()处理、前后台进程、闹钟设置、初识信号三张表。
linux·运维·服务器·开发语言·c++
HackTwoHub39 分钟前
免费FOFA高级会员、DayDaymap、360Quake、Hunter测绘搜索引擎高级会员免费使用最大1W条查询工具
运维·安全·web安全·搜索引擎·网络安全·系统安全·安全架构
++==44 分钟前
git的安装以及基本命令使用、远程仓库的操作、vscode连接远程仓库进行项目的上传、gitee的使用
linux·git·gitee
鹤落晴春1 小时前
RH124问答4:创建、查看和编辑文本文件
linux·运维