windows编译yaml-cpp

1、下载cmake

写文章时,机器上安装的是 cmake-3.20.6.zip。
下载后,解压包。
配置环境变量,把解压后的 bin 目录,添加到 path 下。
查看 cmake 支持的编译方式

> cmake --help
> # 找到 Generators 章节,列出的即支持的平台
> # 我们要编译到 visual studio 2019,即如下 cmd
> cmake -G "Visual Studio 16 2019" -D CMAKE_INSTALL_PREFIX=${your_install_path}

2、下载visual studio

本文使用的是 visual studio 2019 community 版本,组件选择如下图:
在这里插入图片描述
在这里插入图片描述
安装完毕后,找到 visual studio 2019 的 devenv.exe 文件路径,在你安装的目录下,我的位置是:

D:\VisualStudio\2019\Community\Common7\IDE

添加到 path 环境变量里面。注销账户或者重启一下命令行、powershell窗口,让环境变量生效。

3、下载yaml-cpp

> git clone https://github.com/jbeder/yaml-cpp.git
> cd yaml-cpp
> git checkout yaml-cpp-0.7.0

4、编译

> cd yaml-cpp
> mkdir build
> cd build
> cmake -G "Visual Studio 16 2019" -D CMAKE_INSTALL_PREFIX=D:/clibs/yaml-cpp/0.7.0 ..

5、测试

CmakeLists.txt

cmake_minimum_required(VERSION 3.20)
project(yaml_cpp_test)

set(CMAKE_CXX_STANDARD 11)

set(YAML_INCLUDE D:/clibs/yaml-cpp/0.7.0/include)
set(YAML_LIB D:/clibs/yaml-cpp/0.7.0/lib)

include_directories(${YAML_INCLUDE})

add_executable(yaml_cpp_test main.cpp)

target_link_libraries(yaml_cpp_test PUBLIC
        ${YAML_LIB}/libyaml-cpp.a
)

main.cpp

#include <iostream>
#include "yaml-cpp/yaml.h"

int main() {
    using namespace std;
    using namespace YAML;
    Node config = LoadFile("E:\\workspace-clion\\yaml-cpp-test\\resources\\test.yaml");
    auto aa = config["aa"].as<int>();
    auto bb = config["bb"].as<string>();
    auto dd = config["cc"]["dd"].as<string>();
    std::cout << aa << " " << bb << " " << dd << std::endl;
    string tem{};
    while (true) {
        cin >> tem;
        if (tem == "exit") {
            break;
        }
        cout << tem << endl;
    }
    return 0;
}

test.yaml

aa: 11
bb: hello
cc:
  dd: yaml-cpp

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangningboo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值