问题标签 [yaml-cpp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3999 浏览

visual-studio-2010 - 如何安装和使用 YAML-Cpp

我想学习 YAML(并将其与 C++ 一起使用),但我一直在尝试设置YAML-Cpp。让我解释一下我到目前为止所做的事情。

  • 我下载了源代码(0.5.1版)
  • 已安装 Cmake(适用于 Windows)
  • 安装了 Boost 库(为 Visual Studio 2010 预编译)

编辑:

  • 构建解决方案和安装项目
  • 然后我的 C 盘上有两个文件夹:include 和 lib
  • 然后我将它移到我 D 驱动器上的另一个文件夹(也许它是相关的)

为了测试,我在 V Express 中创建了一个项目并尝试编译它:

新结果:

d:\development\yamlcpp 0.51\include\yaml-cpp\node\ptr.h(10):致命错误 C1083:无法打开包含文件:'boost/shared_ptr.hpp':没有这样的文件或目录

有人可以告诉我构建和配置这个库的正确方法是什么吗?

0 投票
1 回答
476 浏览

yaml-cpp - 可以在不使用发射器和节点事件的情况下遍历 yaml-cpp 树吗?

我正在尝试走一个我以前一无所知的 yaml-cpp (0.5.1) 节点。我知道有一个 YAML::Dump 使用发射器和节点事件来做到这一点,但我想知道是否有不使用发射器的方法。

我尝试了以下代码,但未能找到确定所有需要案例所需的方法:

0 投票
0 回答
2451 浏览

c++ - 程序以信号 7 终止,yaml-cpp.0.3.0 中的总线错误

我有一个使用 yaml-cpp(版本 0.3.0)的 C++ 程序。当程序退出时,由于“信号 7”,我感到恐慌。

有没有人使用 yaml-cpp 遇到过这个问题?似乎在我的程序退出后(从第 3 帧)遇到了恐慌,并且正在卸载库。我查看了 RegEx 析构函数的源代码,它基本上是一个 {}。任何调试此问题的指针将不胜感激。

(编辑后的附加信息)我在打开调试的情况下构建了 yaml-cpp0.3 库。我现在在回溯中获得了更多信息,但恐慌是由于“程序以信号 11 终止,分段错误。”。以下是回溯:

0 投票
1 回答
186 浏览

c++ - Invalid conversion using numbered indexes with the new API

I am facing a problem with the new syntax. When parsing the following yaml file:

using the following code:

The first line works and outputs "type spr", while the second line doesn't, throwing a YAML::TypedBadConversion < std::string >.

Shouldn't them both have the same output? Or does numbered indexes work only on sequences and not on maps? What am I doing wrong?

0 投票
1 回答
5569 浏览

c++ - yaml-cpp 0.5.1 的可选密钥

先前的答案描述了如何使用YAML::Node::FindValue("parameter").

不幸的是,我不能在最新版本(0.5.1)中调用它:

这是否可以工作,或者是否有在最新版本中工作的等效功能?

0 投票
0 回答
387 浏览

yaml-cpp - yaml-cpp cmake 错误,找不到 boost 文件

我刚刚下载并尝试构建 yaml-cpp v. 0.5.1,按照网页和 install.txt 文件中指定的所有内容执行了所有操作,但出现以下错误:CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1138 (message):Unable to find the requested Boost libraries.

谁知道怎么修它?

0 投票
5 回答
7602 浏览

gcc - 未定义对 YAML::LoadFile 的引用

我正在尝试使用新版本的 libyaml-cpp 并遇到链接器问题 ( undefined reference to 'YAML::LoadFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)')。

我按如下方式构建库:

然后我包含yaml-cpp/yaml.h并调用YAML::LoadFile( some_string );. 我的编译行是:

我也尝试将确切的.so文件放在那里,但没有运气。使用nm我可以LoadFile在共享库中看到一个函数。我现在不知道我是否以某种方式使用了错误的构建线或库有问题。

0 投票
1 回答
553 浏览

yaml-cpp - 将多行字符串添加到 Yaml-cpp 节点

如何使用节点将多行字符串作为值添加到键?我不想使用发射器。

我想要下面的代码

Iphone: 等等...等等\n 等等....等等\n

我想使用 YAML::Node 对象以编程方式创建类似于上面的数据。

0 投票
4 回答
8280 浏览

c++ - Yaml-cpp(新 API):在序列中混合地图和标量的问题

我在解析这种形式的 yaml 文件时遇到了一个非常简单的问题:

我想将顶级键解析为字符串,即“Foo”和“Bar”。如您所见,序列中的第一个条目是标量,第二个条目是包含一个键/值对的映射。假设我已将此 YAML 文本加载到名为 config 的节点中。我通过以下方式迭代配置:

问题是解析第二个“Bar”条目。我收到以下 yaml-cpp 异常,告诉我我正在尝试从序列迭代器 n_it 访问密钥。

如果我更改对此的访问权限:

我得到了一个不同的 yaml-cpp 异常,我猜这是因为我试图将整个地图作为 std::string 访问

有人可以向我解释发生了什么问题吗?

编辑:新问题 我仍然有这个 api 处理地图与序列的问题。现在说我有以下结构:

我希望将其转换为以下 YAML 文件:

我会这样做:

然而,在最后一行节点现在已经从序列转换为地图,我得到了一个异常。我能做到这一点的唯一方法是输出一张地图:

问题是如果我无法读回此类文件。如果我在 Node 上进行迭代,我什至无法在没有异常的情况下获得节点迭代器的类型。

这应该很容易处理,但一直让我发疯!

0 投票
1 回答
4830 浏览

c++ - Yaml-cpp (new API) - 嵌套映射/序列组合和迭代

我在这个 api 处理地图与序列方面遇到了相当基本的问题。假设我有以下结构:

我希望将其转换为以下 YAML 文件:

我会这样做:

然而,在最后一行节点现在已经从序列转换为地图,我得到了一个异常。我能做到这一点的唯一方法是输出一张地图:

问题是如果我无法读回此类文件。如果我在 Node 上进行迭代,我什至无法在没有异常的情况下获得节点迭代器的类型。

这应该很容易处理,但一直让我发疯!