C++——读取Yaml文件及编译报错解决

教程

  • C++ 解析yaml文件的使用方法

编译及使用方法

  • c++ 开发中利用yaml-cpp读写yaml配置文件

一定要下载release-0.5.1版本,否则会在编译程序时报错。

wget https://github.com/jbeder/yaml-cpp/releases/tag/release-0.5.1

CMakeLists.txt如下:

cmake_minimum_required(VERSION 2.8)

project(yaml_test)

# 编译库
set(SRCS src/example_readYaml.cpp)
add_executable(yamltest ${SRCS})
# 链接yaml库
TARGET_LINK_LIBRARIES(yamltest yaml-cpp)

编译报错及解决方法

问题1:

编译yaml-cpp库时报错:
C++——读取Yaml文件及编译报错解决_第1张图片

解决方法:

进入报错cpp程序,找到报错位置,只需要将input中的所有值全部强制转化成char即可解决:
C++——读取Yaml文件及编译报错解决_第2张图片

修改后:
在这里插入图片描述

编译成功:
C++——读取Yaml文件及编译报错解决_第3张图片

问题2:

C++——读取Yaml文件及编译报错解决_第4张图片

解决方法:

下载0.5.1版本的yaml https://github.com/jbeder/yaml-cpp/releases,把之前安装的yaml删掉,重新编译安装。

同时注意要编写正确的CMakeLists.txt,将yaml库链接到程序中即可。

cmake_minimum_required(VERSION 2.8)

project(yaml_test)

# 编译库
set(SRCS src/example_readYaml.cpp)
add_executable(yamltest ${SRCS})
# 链接yaml库
TARGET_LINK_LIBRARIES(yamltest yaml-cpp)

参考文章:

  • Compiler error with yaml-cpp - undefined reference to YAML::detail::node_data::convert_to_map

你可能感兴趣的:(C++,c++,yaml)