如何将补丁添加到luabind中?

我目前正在尝试使用boost构建项目。但它给出了一个错误消息,指出缺少运算符。

我进行了一些研究,发现这实际上是luabind中的一个bug。它说将

#elif BOOST_PP_ITERATION_FLAGS() == 1

改为:

#else
#if BOOST_PP_ITERATION_FLAGS() == 1

可以纠正问题。所以我修改了文件/usr/include/luabind/wrapper_base.hpp,按照它的说法进行修改。但它没有起作用。

后来我发现有一个补丁可以解决这个问题。但我不知道如何将这个补丁添加到luabind中。请告诉我如何做。先谢谢了。

点赞
用户2308276
用户2308276

我也遇到了同样的问题。

我使用的是 Ubuntu 12.04,boost 1.49,luabind 0.9.1,g++ 4.6.3,看起来这个 boost 和 luabind 之间存在不兼容的问题。

我在办公室使用的是 boost 1.41 和 luabind 0.9.0,它们可以正常工作。

编辑:

实际上,按照你提到的网页所描述的,修改了 call_function.hpp、call_member.hpp 和 wrapper_base.hpp 这三个文件之后,即:

#elif BOOST_PP_ITERATION_FLAGS() == 1
...
#end

被替换成:

#else
#if BOOST_PP_ITERATION_FLAGS() == 1
...
#end
#end

我成功地编译了 luabind 程序。

也许你忘记添加第二个 #end 了?

2013-08-24 11:23:19