2012-02-07 22 views
2

私はYAMLをC++で試してみると、hereの例題を実行しています。コードをそのまま新しいプロジェクトフォルダのtest.cppにコピーしました。私はYAMLを静的ライブラリにコンパイルし、プロジェクトにリンクしています。私はUbuntu 11.10を実行しています。私はコンパイルするには、次のコマンドを使用します。yaml-cppのYAMLモンスターの例で「不正なブロック入力」

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サイトから簡単な例を実行し、うまくいきました。私の入力ファイル、または私のコードに関する例外はありますか?

+0

あなたは例のコードではこの問題が発生した場所を見つけるためにデバッガを使用することができます? –

+0

Davidに感謝します。あなたの質問に答えるためにメインポストを編集しました。 – Joe

+0

あなたはどの例を使用していますか? (そのページにはいくつかの例が掲載されています) –

答えて

1

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

物事は必ずに関する作る:

  • スペースではなくタブを
  • インデントのためのスペースの適切な数
+0

ありがとう!それはそれを修正した。 – Joe

関連する問題