ubuntu下yaml-cpp安装与使用
安装
- 从GitHub上下载源码编译安装:git clone https://github.com/jbeder/yaml-cpp.git;
- 进入源码目录并创建一个 build 目录:
cd yaml-cpp && mkdir build && cd build
; - cmake 一下:
cmake -DYAML_BUILD_SHARED_LIBS=on ..
,选项表示生成共享库,..
表示 cmake 所需的 CMakeList.txt 在上一级目录中; - 常规操作
sudo make
然后sudo make install
; - 需要
sudo ldconfig
更新一下共享库; - 头文件在
/usr/local/include
,库文件在/usr/local/lib
。
使用
一个简单的例子,编写一个配置文件config.yaml
,有关简单的 yaml 语法,参考yaml 入门教程。
# 违规规则库
illegal_rules:
- rm -rf /*
- reboot
- shutdown
- poweroff
编写一个 main.cpp
。
#include <iostream>
#include <yaml-cpp/yaml.h>
using namespace std;
int main()
{
YAML::Node config = YAML::LoadFile("./config.yaml");
vector<string> illegal_rules = config["illegal_rules"].as<vector<string>>();
cout << illegal_rules.size() << endl;
for (const string s : illegal_rules) {
cout << s << endl;
}
return 0;
}
我的 Makefile
是这样的,make 一下生成可执行文件 main
,然后执行./main
即可。
cc = g++
OBJ = main
all:
$(cc) -c ./*.cpp
$(cc) -o $(OBJ) ./*.o /usr/local/lib/libyaml-cpp.so.0.7.0
rm -rf ./*.o
clean:
rm -rf ./*.o
注意指定 yaml 动态库的路径即可。
最后
如果你有疑惑,欢迎评论,我会尽可能回复!
如果本文对你有帮助,点个赞吧,这是我坚持的动力!