[转载]luabind 0.9.1在boost 1.49+和gcc-4.6.3以上版本的编译问题处理

将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

----

我还没弄明白这是为什么,不过我现在没时间,等会儿来搞清楚原因。

原文地址:https://www.cnblogs.com/sig3/p/3982048.html