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  
#include 
template 
void operator>>(const YAML::Node& node, T& i); 
double test_param1;
double test_param2;
template 
void operator>>(const YAML::Node& node, T& i) {
i = node.as();
};
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 这样现代化第三方库引用工具,可以通过很简单的配置轻松引用其他开源的工作成果。

你可能感兴趣的:(工具与环境,YAML)