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

c++ - 如何在 yaml-cpp 中发出带有额外换行符的映射序列

我想使用以下格式的 yaml-cpp 库发出一系列映射:

我正在使用这段代码:

我得到:

我尝试添加

在地图的开头,但它给出了错误的结果。我怎样才能得到我想要的输出?

0 投票
1 回答
55 浏览

yaml-cpp - SEGV 发出空根 (yaml-cpp)

我正在尝试 yaml-cpp (r589:2c954b1ed301),但我在使用以下代码时遇到了问题。

该代码在 Scientific Linux 6.4 上使用 g++ 4.4.7 编译。我不确定这个错误是否只发生在我的环境中。我会很感激你的意见和建议。

0 投票
1 回答
810 浏览

c++ - 将项目附加到 YAML 文件中的地图

在 YAML 文件中,是否可以在定义地图后将项目添加到地图中?

例如,如果我有一个文件:

然后后来意识到我的“水果”地图不完整,我可以稍后在文件中做任何事情(即在定义“蔬菜”地图之后)将另一个水果附加到现有地图吗?某处:

将被附加到现有地图而不是覆盖它?

换句话说,是否有一种有效的方法将“橙子”附加到文件中其他地方的现有“水果”映射?

一些背景知识:我计划将 yaml-cpp 与 C++ 一起使用。我正在使用 YAML 作为我正在编写的程序的输入文件格式。我将解析用户创建的文件并将结构转换为程序中的对象。我希望能够将项目附加到地图,因为当用户意识到在引用它们的其他对象附近需要或使用它们时,对象(在本例中为“水果”)通常分散在输入文件中。

0 投票
1 回答
473 浏览

yaml - yaml-cpp 与 c++ 映射的内部工作原理

只是一个关于 yaml-cpp 内部工作的快速问题。

我注意到,当我试图查找一个不存在的密钥时,我收到了一个错误,例如:

我对此感到惊讶,因为我会假设到此时加载后我们将直接在内存映射中进行操作

如果我进行查找,例如

这是否像我有一个强类型地图一样有效地发生。如果我将我知道存在于 yaml 中的东西预处理到 c++ 映射中并直接访问它们而不是通过节点访问它们会更有效吗?

我想我在问地图的性能是否比访问节点更快

谢谢

0 投票
1 回答
616 浏览

c++ - 使用 yaml-cpp 0.5 DLL 时的链接器错误

我在 Visual Studio 2010 中有一个 C++ 项目,我将代码从旧的 yaml-cpp 0.3 API 移植到新的 0.5 API。我已经设置了 Boost,用 CMake 构建了新的 DLL,设置了包含和库路径,更新了所有代码以匹配新的 API,一切都编译得很好。

但是,当它到达链接时,我遇到了一连串这样的链接器错误:

看起来并非所有符号都被导出到 DLL,但我不知道如何修复它。我试过清理所有东西、重建、调试/发布、不同的 VS 版本等。使用 yaml-cpp 0.3 一切正常,但我真的想要新的 API。这些是我在 CMake 中用于构建库的设置:

0 投票
1 回答
822 浏览

yaml-cpp - yaml-cpp 新 API 中是否有涉及“while(parser.GetNextDocument(doc)) {..}”的示例代码

在 yaml-cpp 中,如何更改旧的 API 片段:

进入新的API?

0 投票
1 回答
960 浏览

c++ - 未定义的参考链接 yaml-cpp 程序与 mingw-w64 + cmake

我正在使用 mingw-w64 (4.8.0) + cmake 为 yaml-cpp (0.5.1) 构建共享库。该项目在其附带的 CMakeLists.txt 中有一些构建目标:主库yaml-cpp和一些测试程序,例如parse,链接库。

库目标yaml-cpp本身构建时没有错误,但在parse构建时会出现此错误:

当我尝试使用该库编写小型测试程序时遇到类似的错误,我不知道出了什么问题。这里可能是什么问题?

0 投票
0 回答
107 浏览

compilation - 由于 yaml-cpp 构建导致的 Rivet 包编译问题

由于我的 yaml-cpp 构建,我在编译 Rivet 包时遇到了困难。我已经毫不费力地安装了其他各种所需的东西,但是当我运行时:

我得到错误:

有没有其他人有类似的问题?

0 投票
1 回答
1223 浏览

c++ - QT yaml-cpp Windows

我是 Windows 和 QT 编程的新手。

我开始了一个 QT 项目并希望包含 yaml-cpp 0.30

现在我有不同的问题。首先,我想用 cmake 和 Visualstudio 构建库,但我不确定我是否做对了。

我启动 Cmake 并使用 VS2010 编译器进行构建。然后我加载文件

VS 2010 中的 build\CMakeFiles\2.8.11.2\CompilerIdCXX\CompilerCXX.vcxproj 但我无法构建它或不知道如何构建。

以及我如何将这个构建库集成到 QTCreator 中?

或者我有可能在 QTCREATOR 中构建所有内容?

感谢您的帮助

0 投票
1 回答
290 浏览

c++ - 如何使用键而不是标量检索地图节点?

我想在 C++ 项目中使用不敏感的 yaml-cpp,因为它完全符合我的需求。但是我想从另一个节点更新一个节点,即正确地将不存在的节点从一种模式添加到另一种模式,或者替换现有节点的现有值。我无法找到如何简单地使用当前界面来做到这一点......

所以我尝试在迭代器上使用一个简单的循环来做到这一点。我发现以下事情在遍历地图节点时不起作用:

它没有找到任何节点!因此,对于以标量为键的映射节点,测试if (node_1[it->first.Scalar()]) /*...*/效果很好。我的问题是对序列键做同样的事情。我怎样才能做到这一点?

编辑

以下是 YAML 文档的示例:

该文档可以毫无问题地加载到节点中,例如 doc1;我现在想针对另一个 YAML 文档修改一些条目,例如:

所以我将第二个文档加载到节点 doc2 中,我想用 doc 2 的节点更新 doc1。doc 2 的第一个键不存在于 doc 1 中并且是一个标量,所以我可以做doc1[it->first.Scalar()] = it->second. 第二个键存在,因此相同的指令将更新 doc1,替换与 key 链接的值Emitter。我的问题是我无法成功找到 doc1 中的第三个键,因为它是一个序列。