2

ここにある例を実行して、C++でYAMLを使用してみます。コードを逐語的に新しいプロジェクトフォルダーのtest.cppにコピーしました。YAMLを静的ライブラリにコンパイルし、プロジェクトにリンクしています。Ubuntu11.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)」の前に発生します。また、単一のスカラーを格納するWebサイトからより簡単な例を実行しましたが、これは正常に機能しました。入力ファイルまたはコードに関する例外はありますか?

4

1 に答える 1

1

エラーは、入力ファイル()に問題があることを示していますmonsters.yaml正確にコピーしたことを確認してください。4行2列目にエラーがあると主張しているので、最初にその場所を見ることができます(ただし、yaml-cppはエラーの場所に適していないため、見るのに適切な場所ではない可能性があります)。

確認すべきこと:

  • タブではなくスペース
  • インデントのための適切な数のスペース
于 2012-02-08T17:49:35.790 に答える