ubuntu下yaml-cpp安装与使用

安装

  1. 从GitHub上下载源码编译安装:git clone https://github.com/jbeder/yaml-cpp.git;
  2. 进入源码目录并创建一个 build 目录:cd yaml-cpp && mkdir build && cd build
  3. cmake 一下:cmake -DYAML_BUILD_SHARED_LIBS=on ..,选项表示生成共享库..表示 cmake 所需的 CMakeList.txt 在上一级目录中;
  4. 常规操作 sudo make然后sudo make install
  5. 需要sudo ldconfig更新一下共享库;
  6. 头文件在/usr/local/include,库文件在/usr/local/lib

使用

一个简单的例子,编写一个配置文件config.yaml,有关简单的 yaml 语法,参考yaml 入门教程。

# 违规规则库
illegal_rules:
  - rm -rf /*
  - reboot
  - shutdown
  - poweroff

编写一个 main.cpp

#include 
#include 

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 动态库的路径即可。

最后

如果你有疑惑,欢迎评论,我会尽可能回复!

如果本文对你有帮助,点个赞吧,这是我坚持的动力!

你可能感兴趣的:(库安装,C/C++常见问题,ubuntu,linux,运维)