问题标签 [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 投票
3 回答
688 浏览

yaml - YAML 的替代脚本?

我打算使用 yaml,因为它有一个很棒的功能,叫做合并!(“<<”键)

我正在使用'yaml-cpp'作为解析器,因为我正在研究cpp。

但!yaml-cpp 不支持合并。我可以为替代品做些什么?

其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。

但我不需要合并多个对象。我只需要定义一些东西并创建从第一个继承的另一个对象并覆盖一些值。那它。

谢谢阅读。

0 投票
1 回答
490 浏览

yaml-cpp - 如何在 yaml-cpp 中编辑和删除数据?

到目前为止,我已经连续发出和查看来自 yaml 文件的数据,但我无法修改它。我确实尝试过覆盖某事,但它没有用。对于删除,我认为我可以将整个文件加载到一个变量中,然后使用 std::string 和正则表达式,对其进行处理,然后将其发回,但这并不令人满意,干净或“不错”。我应该怎么办?

0 投票
2 回答
14107 浏览

c++ - 如何在 Linux 上的 C++ 程序中使用 yaml-cpp?

我最近决定使用 yaml 作为我的配置文件技术,并且正在 OpenSuse 11.3 上编写一个 c++ linux 应用程序。

问题是即使成功安装cmake,编译yaml-cpp如yaml-cpp docs页面所示,我仍然无法编译yaml-cpp页面here的简单演示程序。

例如,当我尝试编译Monster.yaml 和 main.cpp 示例时

我的编译器在发出命令gcc main.cpp时,它发出以下错误:

main.cpp:24:25: 错误: 'YAML' 没有命名类型
main.cpp:24:35: 错误: '&' 之前的预期 unqualified-id 令牌
main.cpp:24:35: 错误:在 '&' 之前需要 ')' 令牌
main.cpp:24:35:错误:“&”之前的预期初始化程序 令牌
main.cpp:30:25:错误:'YAML' 没有命名类型
main.cpp:30:35:错误:'&' 之前的预期 unqualified-id 令牌
main.cpp:30:35:错误:在 '&' 之前应为 ')' 令牌
main.cpp:30:35:错误:“&”之前的预期初始化程序 令牌
main.cpp:35:25:错误:'YAML' 没有命名类型
main.cpp:35:35:错误:'&' 之前的预期 unqualified-id 令牌
main.cpp:35:35:错误:在 '&' 之前应为 ')' 令牌
main.cpp:35:35:错误:“&”之前的预期初始化程序 令牌

我尝试将 include 指令从 更改#include "yaml-cpp/yaml.h"#include <yaml.h>,因为我安装了 yaml 库,但这并没有解决任何问题。

所以我做错了什么?

这是从第 24 行到第 40 行粘贴的有问题的代码:

这是sudo make install我运行make命令后输出的转储:

gcc在使用 libyaml 进行编译时,是否可能有一些特殊的指令/选项必须附加到命令中?像gcc main.cpp -libyaml什么?

有关编译器 ( gcc version 4.5.0 20100604 [gcc-4_5-branch revision 160292] (SUSE Linux)) 的更多输出:

还有更多的东西在这里放不下 ,最后以:

- 最后 -

用 Chris 的解决方案(见下文)解决了这个问题,尽管我实际上找到了一种更简洁的预加载“自定义”库的方法,方法是在将ldconfig库的路径添加到. 请参阅此处的详细指南...*.conf/etc/ld.so.conf.d/

0 投票
1 回答
332 浏览

c++ - YAML::发射器流大小

我有一个迭代算法,用 C++ 编写。我正在使用yaml-cpp。在每次迭代中,我发送一些数据到 YAML::Emitter 对象。当算法终止时,我使用 YAML::Emitter::c_str() 将底层缓冲区写入 ofstream。

但是,我更愿意每隔几百次迭代将缓冲区写入文件,并在每次增量时从 YAML::Emitter 对象中清除写入的数据。有两个原因:

1)如果程序意外终止,我想访问(尽可能多的)磁盘上的输出。

2) YAML::Emitter 对象自扩展,我不想浪费内存。

解决这个问题的最佳方法是什么?

0 投票
1 回答
450 浏览

yaml-cpp - 流发射器的 YAML

我找到了这个例子:

但是当我尝试使用它时,我有:

0 投票
1 回答
354 浏览

formatting - How can I format a number when emitting using yaml-cpp?

I need to output my data in scientific notation with fixed width like the sample below. Is there any way to achieve it?

data:
- [+0.000000e+00, +0.100000e+00, +2.400000e+00, +3.600000e+00, +4.800000e+00]
- [+1.200000e+00, +1.300000e+00, +2.400000e+00, +4.800000e+00, +6.000000e+00]

-SW

0 投票
1 回答
702 浏览

c++ - 如何使用 qtcreator 链接到 Arch Linux 上的 yaml-cpp?

我对在我的媒体播放器项目中使用 Yaml 很感兴趣。唯一的问题是我不知道你是如何用 Yaml 编译的,尤其是在 qt-creator 上。由于某种原因,yaml-cpp 的 AUR 包似乎没有在 /usr/lib 中安装库,所以我不知道如何去做。我正在使用 Qt 并在 Qtcreator 环境中进行开发。帮助将不胜感激。

0 投票
1 回答
1233 浏览

yaml - 从文档中检索 yaml-cpp 中的锚和别名字符串

我查看了 yaml-cpp 文档和源代码,知道锚定节点的链接是由 yaml-cpp lib 处理的,但我仍然想访问锚的字符串值,以便我可以将它重用为字典的 id我的应用程序中的锚点/节点对。

因此,对于以下 yaml 文档,我将同时获取值 list_01 和第一个响应节点(这是包含地图列表的地图节点)。

还有某种内置的锚/节点对字典(或多次使用的节点列表)功能吗?

0 投票
2 回答
3364 浏览

yaml - yaml 科学记数法语法

在使用 yaml 文档时,我发现我的一个值被用snakeyaml 解析为字符串:

-8e-05

发现使用yaml-cpp写yamls的ros是用下面的代码写数组

但是上面的 c++ 代码(从 camera_calibration 包中的 ros "parse_yml.cpp" 复制)创建 -8e-05,而 snakeyaml 将其解析为字符串。

那么谁是对的,应该有错误报告吗?如果是的话给谁?1.2 yaml 规范似乎允许可选的小数,但我不知道 1.1 yaml 规范是否允许它实现了它。

0 投票
1 回答
901 浏览

yaml-cpp - 如何使用 yaml-cpp 发出带引号的字符串?

我想使用 yaml-cpp 发出一个带引号的字符串,所以它看起来像

time_stamp:“2011 年 8 月 10 日 01:37:52”

在输出 yaml 文件中。我该怎么做?谢谢。