将boost更新到1.53时, 发现luabind死活编译不过, 报错如下
error: missing binary operator before token “(“
根据老外的描述, boost中的BOOST_PP_ITERATION_FLAGS从1.49版本后发生了一些变化.
在git找到一个patch, 链接 https://gist.github.com/ObKo/2011636
以下简单描述
修改call_function.hpp, call_member.hpp及wrapper_base.hpp
去掉#elif BOOST_PP_ITERATION_FLAGS() == 1
更换为
#else
#if BOOST_PP_ITERATION_FLAGS() == 1
然后在源码底部加一个#endif即可
原地址:http://www.kankanews.com/ICkengine/archives/50769.shtml
----
我还没弄明白这是为什么,不过我现在没时间,等会儿来搞清楚原因。