Linux yaml-cpp组件配置

本文介绍了在Linux系统中如何配置和使用yaml-cpp库,包括下载源码、构建、编译和安装步骤。此外,还展示了如何通过静态链接库在C++程序中使用yaml-cpp,以及编译和运行示例代码的过程。对比了C/C++与Go、Java等语言引用第三方库的便捷性。
摘要由CSDN通过智能技术生成

Linux yaml-cpp组件配置

建议先看一下前面一篇文章,简单介绍了yaml是什么和相关资料汇总:
yaml基本介绍 + vs2017配置
linux里的配置方法就直接多了,没有眼花缭乱的界面和平台限制。。。

1. 下载、构建、 编译:

git clone https://github.com/jbeder/yaml-cpp.git # clone下来
cd yaml-cpp
mkdir build # 一样的新建一个build路径中构建,要不cmake出的文件与原文件混在一起太乱了
cd build 
cmake ..
make # 按camke生成的makefile文件进行编译,编译生成可执行文件和静态链接库文件
make install # make install命令是吧make产生的 静态库文件 和 头文件放到系统指定路径下,这样任何工程都可以无障碍地引用yaml库了

linux环境中g++的:

默认头文件路径:/usr/local/inclue

默认库文件路径:/usr/local/lib/

所以,make install命令就是把头文件和库文件(libyaml-cpp.a)分别放到这俩路径里了。

2. 通过静态链接库使用yaml-cpp

// test_yaml.cc
#include <iostream> 
#include <yaml-cpp/yaml.h>
template <typename T>
void operator>>(const YAML::Node& node, T& i); 
double test_param1;
double test_param2;
template <typename T>
void operator>>(const YAML::Node& node, T& i) {
i = node.as<T>();
};
using namespace std;
void loadYamlFile(std::string name){
  YAML::Node node = YAML::LoadFile(name);
  node["test_param1"] >> test_param1;
  node["test_param2"] >> test_param2;
  
  cout << test_param1 << endl;
  cout << test_param2 << endl;
}

int main()
{
  loadYamlFile("./test.yaml");
  return 0;
}
// 参考:https://blog.csdn.net/qq_23350817/article/details/100514186

编译执行:

g++ test_yaml.cc -lyaml-cpp -o test_yaml && ./test_yaml # 对应库文件名:libyaml-cpp.a

不管咋说,c/c++工程的组织还是很僵硬的。。。门槛相对较高。

而go中的go modules和java中的maven 这样现代化第三方库引用工具,可以通过很简单的配置轻松引用其他开源的工作成果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值