问题标签 [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++ - 在 OS X 上使用 yaml-cpp 的问题
所以我在编译使用 yaml-cpp 的应用程序时遇到了问题
我在源文件中包含“yaml.h”(就像 yaml-cpp wiki 中的示例一样),但是当我尝试编译应用程序时,我收到以下错误:
我的makefile看起来像这样:
pkg-config --cflags --libs yaml-cpp返回:
并且 yaml.h 确实位于 /usr/local/include/yaml-cpp
知道我能做什么吗?
谢谢
c++ - RAD Studio 2010 中的错误 yaml-cpp 编译
我无法yaml-cpp
在 RAD Studio 2010 中编译。我有错误nodeutil.h
编译器打印:
[BCC32 Error] nodeutil.h(30): E2238 Multiple declaration for 'is_index_type_with_check<unsigned int,0>'
[BCC32 Error] nodeutil.h(24): E2344 Earlier declaration of 'is_index_type_with_check<unsigned int,0>'
我认为这一切都是正确的 - 在第 24 行我得到了
is_index_type_with_check<std::size_t, false>
,
在第 30 行我得到了
is_index_type_with_check<unsigned, true>
.
两种不同的类型。
但是如果我像下面这样更改第 24 行,RAD Studio 可以编译yaml-cpp
为什么?!在第 24 行我得到了
is_index_type_with_check<std::size_t, true>
在第 30 行
is_index_type_with_check<unsigned, true>
两个相同的类型。但所有这些都可以在 RAD Studio 中使用,而不能在 MS VS 2008 Express 中使用。
c++ - 无效的标量十六进制值 0x8000000 及以上
我发现从 yaml 文件中获取十六进制值的问题。它无法获得 0x80000000 及以上的十六进制值。以下是一个示例 C++ 程序。
hex.yaml
错误信息在这里。
环境
yaml-cpp : 从 svn, March.22.2010 或 v0.2.5 获取
操作系统:Ubuntu 9.10 i386
我现在需要在 yaml-cpp 上获取十六进制值,但我不知道。请告诉我如何以另一种方式获得它。
谢谢,
yaml-cpp - 尝试使用 yaml-cpp 解析 OpenCV YAML 输出
我有一系列 OpenCv 生成的 YAML 文件,想用 yaml-cpp 解析它们
我在简单的东西上做得很好,但矩阵表示很困难。
这应该映射到向量中
类型为float。我的代码如下所示:
但我明白了
我搜索了一些有关 yaml-cpp 的文档,但似乎没有任何文档,除了一个关于解析和发射的简短介绍性示例。不幸的是,在这种特殊情况下,这两者都没有帮助。
据我了解,!!表明这是一个用户定义的类型,但我没有看到 yaml-cpp 如何解析它。
c++ - yaml-cpp 解析字符串
是否可以使用 yaml-cpp 解析 YAML 格式的字符串?
没有YAML::Parser::Parser(std::string&)
构造函数。(我通过 libcurl 从 http-server 获取 YAML 字符串。)
c++ - 重载流插入而不违反信息隐藏?
我正在为一个项目使用yaml-cpp。我想为某些类重载<<
and>>
运算符,但我在努力解决如何“正确”执行此操作时遇到问题。以Note
课堂为例。这很无聊:
操作者<<
是易酱。在.h
:
并且在.cpp
:
没有汗水。然后我去声明>>
运营商。在.h
:
但在.cpp
我得到:
如果我写这样的东西,node[0] >> v._number;
我将需要更改 CV 限定符以使所有Note
领域public
(这打败了我(教授、书籍和经验)教给我的所有内容))关于数据隐藏。
我觉得node[0] >> temp0; v.number( temp0 );
到处都做不仅乏味、容易出错和丑陋,而且相当浪费(额外的副本怎么办)。
然后我变得聪明了:我试图将这两个运算符移动到Note
类本身中,并将它们声明为friend
s,但是编译器(GCC 4.4)不喜欢这样:
src/note.h:44: error: 'YAML::Emitter& Note::operator<<(YAML::Emitter&, const Note&)' 必须只取一个参数
src/note.h:45: error: 'void Note: :operator>>(const YAML::Node&, Note&)' 必须只有一个参数
问题:如何“正确”重载>>
类的运算符
- 在不违反信息隐藏原则的情况下?
- 无需过度复制?
c++ - 在 yaml-cpp 中修改内存中的文档
我想读取一个 YML 文档,通过修改内存中的一些节点来过滤它,然后用发射器将它吐出来。问题是 YAML::Node 似乎被设计为只读的。有没有办法替换我缺少的节点值(在这种情况下为标量)?
c++ - 来自 yaml-cpp 的编译器错误
我正在尝试将 yaml-cpp 集成到一个项目中,但是我从 GCC 中看到了一些意外错误。例如:
另一个例子:
我的平台是 Fedora(2.6.32 内核)、GCC 4.4.1 和 yaml-cpp 0.2.5。还有很多很多其他的错误。肉眼看来,这似乎是 yaml-cpp 中的一个问题,但经验告诉我,我可能是错误的人。有任何想法吗?
更新
文件 traits.h 包含以下内容:
nodeutil.h 包含:
yaml-cpp - 无法读取嵌套映射(引发 YAML::InvalidScalar)
我有一个类(包含一些标量值和一个浮点向量),我想读取和写入一个实例作为另一个映射的值。
编写这门课效果很好,但无论我做什么,我似乎都无法阅读它。它不断抛出一个 InvalidScalar。
这就是输出(用 yaml-cpp 编写而没有报告任何错误)看起来像:
文档似乎说这是支持的用法,嵌套映射,在这种情况下,序列作为值之一。它抱怨它是一个 InvalidScalar,尽管我做的第一件事告诉它这是一张地图:
有没有人看到这个问题?