问题标签 [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.
c++ - 如何在 yaml-cpp 中发出带有额外换行符的映射序列
我想使用以下格式的 yaml-cpp 库发出一系列映射:
我正在使用这段代码:
我得到:
我尝试添加
在地图的开头,但它给出了错误的结果。我怎样才能得到我想要的输出?
yaml-cpp - SEGV 发出空根 (yaml-cpp)
我正在尝试 yaml-cpp (r589:2c954b1ed301),但我在使用以下代码时遇到了问题。
该代码在 Scientific Linux 6.4 上使用 g++ 4.4.7 编译。我不确定这个错误是否只发生在我的环境中。我会很感激你的意见和建议。
c++ - 将项目附加到 YAML 文件中的地图
在 YAML 文件中,是否可以在定义地图后将项目添加到地图中?
例如,如果我有一个文件:
然后后来意识到我的“水果”地图不完整,我可以稍后在文件中做任何事情(即在定义“蔬菜”地图之后)将另一个水果附加到现有地图吗?某处:
将被附加到现有地图而不是覆盖它?
换句话说,是否有一种有效的方法将“橙子”附加到文件中其他地方的现有“水果”映射?
一些背景知识:我计划将 yaml-cpp 与 C++ 一起使用。我正在使用 YAML 作为我正在编写的程序的输入文件格式。我将解析用户创建的文件并将结构转换为程序中的对象。我希望能够将项目附加到地图,因为当用户意识到在引用它们的其他对象附近需要或使用它们时,对象(在本例中为“水果”)通常分散在输入文件中。
yaml - yaml-cpp 与 c++ 映射的内部工作原理
只是一个关于 yaml-cpp 内部工作的快速问题。
我注意到,当我试图查找一个不存在的密钥时,我收到了一个错误,例如:
我对此感到惊讶,因为我会假设到此时加载后我们将直接在内存映射中进行操作
如果我进行查找,例如
这是否像我有一个强类型地图一样有效地发生。如果我将我知道存在于 yaml 中的东西预处理到 c++ 映射中并直接访问它们而不是通过节点访问它们会更有效吗?
我想我在问地图的性能是否比访问节点更快
谢谢
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 中用于构建库的设置:
yaml-cpp - yaml-cpp 新 API 中是否有涉及“while(parser.GetNextDocument(doc)) {..}”的示例代码
在 yaml-cpp 中,如何更改旧的 API 片段:
进入新的API?
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
构建时会出现此错误:
当我尝试使用该库编写小型测试程序时遇到类似的错误,我不知道出了什么问题。这里可能是什么问题?
compilation - 由于 yaml-cpp 构建导致的 Rivet 包编译问题
由于我的 yaml-cpp 构建,我在编译 Rivet 包时遇到了困难。我已经毫不费力地安装了其他各种所需的东西,但是当我运行时:
我得到错误:
有没有其他人有类似的问题?
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 中构建所有内容?
感谢您的帮助
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 中的第三个键,因为它是一个序列。