例子:在c++ 中引入yaml 解析库 https://github.com/jbeder/yaml-cpp
目录结构是这样

- 首先准备一个yml文件,account.yml
account:
username: pokercc
password: 123456
- 然后下载yaml-cpp 源码到工程目录
- 编写CMakeLists.txt 文件
# cmake 最新要求版本
cmake_minimum_required(VERSION 3.10)
# 工程名称
project(parse_account)
#c14标准
set(CMAKE_CXX_STANDARD 14)
#包含子模块"yaml-cpp-master"
add_subdirectory(yaml-cpp-master)
# 生成可执行文件
add_executable(parse_account parse_account.cpp)
# 连接库,yaml-cpp 是“yal-cpp-master"目录下的CMakeLists.txt中的library 名称
target_link_libraries(parse_account yaml-cpp)
- 编写代码 parse_account.cpp
//
// Created by pokercc on 2019/4/20.
//
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include "yaml-cpp-master/include/yaml-cpp/yaml.h"
using namespace std;
int main() {
YAML::Node config = YAML::LoadFile("account.yaml");
string username, password;
auto account = config["account"];
username = account["username"].as<string>();
password = account["password"].as<string>();
cout << "username:" << username << endl;
cout << "password:" << password << endl;
}
- 测试运行,在linux终端中
# 生成makefile
cmake .
# 执行编译链接,生成可执行文件
make
# 运行可执行文件
./parse_account
# 查看输出
username:pokercc
password:123456
没有gradle那么容易,一行代码搞定
但是还是比较简单的,我也折腾了一个多小时
demo github地址:https://github.com/pokercc/yaml_demo
参考文档
网友评论