Почему этот пример Boost Spirit не компилируется?

Я решил изучить Boost Spirit и начал изучать внешний вид Вот. Но я разочарован, потому что самый первый пример calc1.cpp не компилируется на моем компьютере и выдает следующее сообщение об ошибке:

calc1.cpp: In constructor ‘client::calculator<Iterator>::calculator()’:
calc1.cpp:43:13: error: ‘uint_type’ is not a member of ‘client::qi’
calc1.cpp:43:27: error: expected ‘;’ before ‘uint_’
calc1.cpp:60:17: error: ‘uint_’ was not declared in this scope
calc1.cpp:60:17: note: suggested alternatives:
/usr/include/boost/spirit/home/support/common_terminals.hpp:134:1: note:   ‘boost::spirit::uint_’
/usr/include/boost/spirit/home/support/common_terminals.hpp:134:1: note:   ‘boost::spirit::tag::uint_’
/usr/include/boost/spirit/home/support/common_terminals.hpp:134:1: note:   ‘boost::spirit::uint_’

Я добавил такую ​​строку, но это не решение проблемы:

#include <boost/spirit/home/support/common_terminals.hpp>

Что я должен делать? Заранее спасибо.

0

Решение

Вы пытаетесь использовать пример из Boost 1.51.0 при установке Boost 1.46.1.

Вместо того, чтобы использовать демо, попробуйте следующее: http://www.boost.org/doc/libs/1_46_1/libs/spirit/example/qi/calc1.cpp

3

Другие решения

Других решений пока нет …