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

相关推荐
applebomb16 分钟前
没合适的组合wheel包,就自行编译flash_attn吧
python·ubuntu·attention·flash
jjkkzzzz30 分钟前
Linux下的C/C++开发之操作Zookeeper
linux·zookeeper·c/c++
二当家的素材网31 分钟前
Centos和麒麟系统如何每天晚上2点10分定时备份达梦数据库
linux·数据库·centos
挑战者66688831 分钟前
CentOS 系统高效部署 Dify 全攻略
linux·运维·centos
DD_陈东东1 小时前
gdbus 常用数据结构与库函数
linux
DIY机器人工房2 小时前
代码详细注释:ARM-Linux字符设备驱动开发案例:LCD汉字输出改进建议开发板断电重启还能显示汉字,显示汉字位置自定义
linux·嵌入式·文件io·diy机器人工房
网硕互联的小客服2 小时前
服务器经常出现蓝屏是什么原因导致的?如何排查和修复?
运维·服务器·stm32·单片机·网络安全
喜欢吃豆2 小时前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
海外空间恒创科技2 小时前
恒创科技:香港站群服务器做seo站群优化效果如何
运维·服务器·科技
得物技术2 小时前
eBPF 助力 NAS 分钟级别 Pod 实例溯源|得物技术
linux