/ / "Незаконне введення блоку" з прикладом монстрів YAML в yaml-cpp - c ++, статичних бібліотеках, yaml, yaml-cpp

"Незаконне введення блоку" з прикладом YAML монстрів в yaml-cpp-c + +, статичні бібліотеки, yaml, yaml-cpp

Я запускаю знайдений приклад тут спробувати використовувати YAML в C ++. Я скопіював код дослівно в тест.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 для цього Заздалегідь дякую за вашу допомогу.

Редагувати: помилка виникає перед "парсером".GetNextDocument (doc) ". Також я запустив простіший приклад з веб-сайту, який зберігає єдиний скаляр, і це спрацювало чудово. Чи є виняток із мого вхідного файлу чи мого коду?

Відповіді:

1 для відповіді № 1

Помилка вказує на наявність проблеми з вхідним файлом (monsters.yaml). Переконайтесь, що ви скопіювали його точно. Він стверджує, що в рядку 4, стовпчик 2 є помилка, тож ви можете спочатку подивитися на це місце (але yaml-cpp не дуже добре з розташуванням помилок, так що це може бути не правильним місцем для перегляду).

Про що слід переконатися:

  • пробіли, а не вкладки
  • належна кількість пробілів для відступу