Linux yaml-cpp组件配置
Posted zkccpro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux yaml-cpp组件配置相关的知识,希望对你有一定的参考价值。
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
这样现代化第三方库引用工具,可以通过很简单的配置轻松引用其他开源的工作成果。
以上是关于Linux yaml-cpp组件配置的主要内容,如果未能解决你的问题,请参考以下文章