2

我正在运行此处找到的示例,以尝试在 C++ 中使用 YAML。我将代码逐字复制到新项目文件夹中的 test.cpp 中。我将 YAML 编译成一个静态库并将其链接到我的项目。我正在运行 Ubuntu 11.10。我使用以下命令进行编译:

    g++ -Wall -I. -g test.cpp -lyaml-cpp -L.

我收到以下错误声明:

    terminate called after throwing an instance of 'YAML::ParserException'
       what(): yaml-cpp: error at line 4, column 2: illegal block entry
    Aborted

这个异常是什么意思?还有什么可能是错的?我找不到每个例外可能意味着什么的清晰文档,因此即使是指向此信息的链接也会有所帮助。我可能超出了我的深度,因为我是 YAML 的新手,使用库和 linux。在此先感谢您的帮助。

编辑:错误发生在“parser.GetNextDocument(doc)”之前。另外,我从存储单个标量的网站上运行了一个更简单的示例,并且效果很好。我的输入文件或我的代码是例外吗?

4

1 回答 1

1

该错误表明输入文件 ( monsters.yaml) 存在问题。确保您准确地复制了它。它声称第 4 行第 2 列有错误,因此您可以先查看该位置(但是 yaml-cpp 对错误位置的定位不是很好,因此这可能不是查看的正确位置)。

需要确认的事项:

  • 空格,而不是制表符
  • 适当数量的缩进空格
于 2012-02-08T17:49:35.790 回答