Пример парсера ключевого слова Compile Boost Spirit

У меня возникли проблемы с компиляцией примера кода для анализатора ключевых слов boost. я использую boost 1.63.0 а также gcc 6.3.0 и указав C++ 11. Я запустил:

g++ -std=c++11 -I boost-1.63-0/include keywords-1.cpp

и был поражен массивной стеной ошибок компилятора. Первая ошибка была:

no type named 'type' in struct boost::mpl::apply...

Я также попытался скомпилировать пример, используя gcc 4.8.2 с флагом C++ 11, включенным с boost 1.55.0, а также с таким же большим количеством ошибок. Однако, пытаясь скомпилировать пример с помощью C++ 03, работали как компиляторы, так и улучшенные версии.

Я попытался скомпилировать на Centos 5 и Ubuntu 14.04. Конкретный пример, на который я ссылаюсь, можно найти под spirit/repository/example/qi/keywords.cpp

Кто-нибудь знает, будет ли компилятор ключевых слов компилироваться в C++ 11, или я должен вернуться к использованию трюка с Nabialek для этих целей? Или у кого-нибудь есть какие-либо пункты в правильном направлении или намеки относительно того, что я делаю неправильно?

1 ответ

Решение

Я думаю, что у меня есть ответ, с которым я пытался скомпилировать g++ -I boost-1.63.0/include -DBOOST_RESULT_OF_USE_TR1 ~/keywords.cpp и это компилируется. Это решение было найдено в отчете об ошибке здесь: https://svn.boost.org/trac/boost/ticket/11493

Другие вопросы по тегам