Пример парсера ключевого слова 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