[转载]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

----

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

时间: 2024-10-07 13:23:09

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

VS2008下编译luabind 0.8.1

[转] 学了一段时间Lua,显然直接在项目中使用是很不方便,google了一下,似乎大家都对luabind这个lua包装类青睐有加,于是我也随大势想用用看.     先做好准备工作,下载了luabin 0.8.1源码,Boost 1.3.8源码和lua 5.1.4源码,编译环境是VS2008 SP1.之前在网上看到一些文章说这些开源软件之间的版本依赖比较敏感,可能会有这样那样的问题,动手之前有些惶恐.     幸运的是,编译过程很顺利,如下:     1.编译lua 5.1.4     进入VS

nginx-1.12.0版本(编译安装)-自定义安装路径

nginx-1.12.0版本(编译安装)-自定义安装路径 安装路径:/application/nginx-1.12.0 1.前期准备 安装编译需要的gcc和gcc-c++ yum install -y gcc gcc-c++ nginx依赖 pcre-devel.openssl-devel.zlib-devel yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel 创建用户nginx,以该用户的身份执行nginx

php-7.0.18版本(编译安装)-自定义安装路径

php-7.0.18版本(编译安装)-自定义安装路径 安装路径:/application/php-7.0.18 1.前期准备 安装编译需要的gcc和gcc-c++ yum install -y gcc gcc-c++ php依赖 libxml2-devel.openssl-devel.curl-devel.libjpeg-devel.libpng-devel.freetype-devel.openldap-devel.libmcrypt-devel yum -y install libxml2-

[转载][Bottle][0.8][2] Bottle 教程

本文转载自: http://article.yeeyan.org/view/35282/123019 该教程向你介绍了 Bottle Web 框架的概念和特征.如果你有这里没有答案的问题,请查看“常见问题解答”页面,根据问题进行追踪,或发送邮件给 [email protected]. 0.1. 快速概览1. 开始1.1. 应用程序对象2. 路由2.1. 动态路由2.2. HTTP 请求方法2.2.1. 自动回滚2.3. 路由静态文件2.4. 错误页面3. 生成内容3.0.1. 改变默认编码3.1

[转载][Bottle][0.8][1] Bottle 介绍

本文转载自: http://article.yeeyan.org/view/35282/120742 Bottle 是一个快速.简单和轻量的 Python WSGI 微框架.它以一个单一的文件模块进行发行,并且不依赖其它 Python 标准库. 1. Bottle:Python Web 框架1.1. 核心特征1.2. 示例:Bottle 里的“你好世界”1.3. 下载和安装2. 用户指南3. API 文档4. 教程和资源5. 开发和贡献6. 许可证a. 脚注 1. Bottle:Python W

【转载】(0, eval)(‘this’)

var window = this || (0, eval)('this') 在avalon源码中有这么一行代码,var window = this很容易理解 这里复习一下Global Object: Global Object代表一个全局对象,js中不允许存在独立的函数,变量和常量,它们都是Global Object 的属性和方法,包括内置的属性和方法但是Global Object实际并不存在,它是由window充当这个角色,并且这个过程是在js首次加载时进行的 在一个页面中,首次载入js代码

转载ECTouch1.0 修改后台广告管理中广告列表显示广告图片

http://www.ectouch.cn/topics/94.html 效果 操作: 1. 修改后台控制器文件 调用出相关字段信息. mobile\include\apps\admin\controller\AdvertController.class.php  函数function ad_list 位置: $ad_list[$key]['orders'] = $this->get_orders($value['ad_id']); 后面一行 添加代码           if($value['

转载 Servlet3.0中使用注解配置Servle

转载地址:http://www.108js.com/article/article10/a0021.html?id=1496 开发Servlet3的程序需要一定的环境支持.Servlet3是Java EE6规范的一部分,MyEclipse10和Tomcat7都提供了对Java EE6规范的支持. @WebServlet 用于将一个类声明为Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet.该注解具有下表给出的一些常用属性(以下所有属性均为可选属

(转载) .NET2.0程序集无法在.net 4.0 中运行的解决方案

首先在MSDN上看到 4.0 的更新日志中有如下这条: .NET Framework 4 不能自动使用自己的公共语言运行时版本来运行由 .NET Framework 早期版本生成的应用程序. 若要使用 .NET Framework 4 运行较早的应用程序,则必须使用 Visual Studio 中项目的属性指定的目标 .NET Framework 版本编译应用程序, 或使用应用程序配置文件中的 <supportedRuntime> 元素 可指定所支持的运行时. 解决方案,就是在app.conf