yaml-cpp中的YAML怪物示例中的“非法块输入”

时间:2012-02-07 19:36:39

标签: c++ static-libraries yaml yaml-cpp

我正在运行找到here的示例,尝试在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)”之前。此外,我从存储单个标量的网站上运行了一个更简单的示例,并且运行正常。是关于我的输入文件或我的代码的例外吗?

1 个答案:

答案 0 :(得分:1)

错误表示输入文件(monsters.yaml)存在问题。确保您将完全复制。它声称在第4行第2列有一个错误,所以你可以先查看那个点(但yaml-cpp对于错误位置不是很好,因此可能不适合查看)。

确定的事项:

  • 空格,而不是标签
  • 适当数量的缩进空间