编译Boost精神关键字解析器示例

时间:2017-03-16 16:08:28

标签: c++ c++11 boost boost-spirit boost-spirit-qi

我在编译boost关键字解析器的示例代码时遇到了一些麻烦。我正在使用boost 1.63.0gcc 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编译示例,并使用boost 1.55.0打开c ++ 11标志,并且还收到了类似的大量错误。但是,尝试用c ++ 03编译示例,编译器和boost版本都有效。

我尝试过在Centos 5和Ubuntu 14.04上进行编译。我引用的具体示例可以在spirit/repository/example/qi/keywords.cpp

下找到

有人知道关键字解析器是否会在c ++ 11中编译,还是应该回到使用Nabialek技巧来实现这些目的?或者是否有人对正确的方向有任何意见或提示我做错了什么?

1 个答案:

答案 0 :(得分:0)

我相信我的答案是我尝试使用g++ -I boost-1.63.0/include -DBOOST_RESULT_OF_USE_TR1 ~/keywords.cpp进行编译并编译。此解决方案可在此处的错误报告中找到:https://svn.boost.org/trac/boost/ticket/11493