问题标签 [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.
linker-errors - yaml-cpp:链接失败
我想使用 yaml-cpp 库来读取一些 YAML 字符串。为此,我尝试编译以下 C++ 代码:
但是,它没有按预期工作,并且在我运行时链接器会抛出以下错误消息g++ $(pkg-config --cflags --libs yaml-cpp) test.cpp -o test
:
输出pkg-config --cflags --libs yaml-cpp
:
输出ls -l /usr/local/lib
:
我目前使用的是 0.3.0 版本,但我还检查了当前存储库的副本。
有谁知道如何解决这个问题?
yaml - 这是有效的yaml吗?
这是本文档的另一个尝试,它没有复合列表(我想这就是它的名称)。
这两个 yaml 文件中的哪一个是有效的?我仍然想知道我是否可以使用这样的键控列表列表(嵌套列表?):
c++ - 使用 yaml 时遇到困难
我想用 yaml 制作分层数据,不幸的是,我不太习惯这种格式,但我喜欢使用它,因为它对人类友好。
这是我的yaml:
我正在使用 yaml-cpp,当我这样做时doc["items"]["list1"]["itemA"]
,我最终会遇到异常 TypedKeyNotFound,而且我认为我不太了解应该如何使用 yaml,我知道
但我仍然有这个例外。
yaml-cpp - 使用 yaml-cpp new api 确定列表中的项目数
有没有办法确定 YAML 列表中的项目数,或者使用新的 yaml-cpp api 检查条目是否存在?例如,假设我有清单
如何确定食物的数量?另外,有没有办法检查 YAML 字符串中是否存在食物?root_node["Foods"]["fruit"].as<int>()
我知道如果水果不存在,我可以尝试对食物进行索引并捕获异常,但是在旧 api 中是否有类似于 FindValue() 的函数( http://code.google.com/p/yaml -cpp/wiki/HowToParseADocument ) 检查条目是否存在?
yaml - 如何卸载 yaml-cpp(从源代码构建)
我尝试在我的 Oneric 11.10 服务器上安装 yaml-cpp0.2.6(在 pandaboard / armel 架构上)。
所以我用:
一切都没有问题。但不幸的是,我需要它的 0.2.6 版本。因此我想卸载 0.3.0 版本:
但这给了我失败
还有其他方法可以卸载吗?或者修改它,我的系统不再需要/想要 yaml0.2.6?
c++ - 复制语义和比较
有没有办法将 YAML::Node 对象中所有值的副本复制到新对象(即克隆)中?还有一种方法可以通过节点中的值来测试两个 YAML::Node 对象之间的相等性(即 .equals() 函数而不是 .is() 函数)?
考虑以下示例:
运行时输出以下内容:
在测试 1 中,修改z
也会修改 的值a["x"][1]["y"][2]["z"]
,同样在测试 2 中,修改b
等价于修改a
。这些复制语义是否被认为是 API 的一部分(即它们将来可能会改变)?我希望能够编写诸如z = getZ()
, 之类的代码并getZ()
返回a["x"][1]["y"][2]["z"]
(“x”、“y”和“z”的名称将来可能会更改)。然后修改z
将修改a
,如示例中所示。
另外,有没有办法将克隆复制a
到新对象b
中,这样修改b
也不会修改a
?
在 test3 中, 中的值与c
中的值相同a
。是否有一些方法可以a.equals(c)
为 YAML::Node 对象做一般测试来测试两个节点中的值是否都相同?在示例中,a.equals(c)
将是正确的。
c++ - 如何在 OpenCV 中编辑/更新 YAML 文件?
在 OpenCV 中编辑/更新 YAML/YML 文件的最佳方法是什么?
cmake - 在 Windows 上使用 CMake 构建 YAML_CPP 时出错
当我尝试在 Windows 上构建 yaml-cpp 时,我不断收到错误消息。使用 CMake gui 应用程序,我正确选择了 build- 和 sourcepath,但是一旦我点击“配置”按钮,就会抛出以下错误:
我知道这与所选的生成器有关,我选择了 CodeBlocks - MinGW Makefiles。但是我已经正确安装了 CodeBlocks。那么有没有办法手动设置CMAKE_MAKE_PROGRAM变量?
c++ - yaml-cpp 遍历未定义值的地图的最简单方法
我想在不知道键的情况下获取地图中的每个节点。
我的 YAML 看起来像这样:
我不知道将声明多少个“类型”或这些键的名称。这就是我尝试遍历地图的原因。
前面的代码在编译时没有任何问题,但是在执行时我得到了这个错误:在抛出一个实例后调用终止YAML::TypedBadConversion<CharacterType>
我也尝试过使用子索引而不是迭代器,得到了同样的错误。
我确定我做错了什么,我只是看不到它。
yaml-cpp - 使用 YAML-cpp,如何识别未知密钥?
该用例正在逐步执行用 YAML 编写的配置文件。我需要检查每个键并相应地解析其值。我喜欢使用诸如 之类的随机访问方法的想法doc["key"] >> value
,但我真正需要做的是警告用户在配置文件中存在无法识别的键,例如,以防他们拼错了键。如果不遍历文件,我不知道该怎么做。
我知道我可以这样做YAML::Iterator
,就像这样
但是有没有更简单的方法来做到这一点?我的方式似乎完全规避了 YAML-cpp 内置的任何错误检查,并且似乎取消了随机访问密钥的所有简单性。