步骤

  • 下载https://github.com/luabind/luabind/tree/0.9。 其最后一次commit为

    Revision: 8c66030818f0eacbb7356c16776539b55d8c5319
    Author: Peter Colberg <peter.colberg@utoronto.ca>
    Date: 12/24/2011 1:53:29 AM
    Message:
    Lua 5.2: use new macro lua_pushglobaltable

    This macro is not mentioned in the Lua 5.2 manual.
    ----
    Modified: luabind/object.hpp
    Modified: src/scope.cpp

  • 添加#include "luabind_compatibility.hpp",内容为
  • /*
    @Author Sygn (https://github.com/sygn-jp) This file is from https://github.com/sygh-JP/CompactLua . Detailed descriptions could be found
    at the author's blog: http://sygh.hatenadiary.jp/entry/2014/06/22/000456 (Japanese only).
    */ #pragma once #include <lua.hpp>
    #include <boost/version.hpp> // Luabind 0.9.1 uses "boost::operator" but it has been moved to "boost::iterators::operator" in Boost 1.57.0 or later.
    // As a result, many compilation errors will occur at the macro "LUABIND_OPERATOR_ADL_WKND" in "luabind/object.hpp".
    // One of the best and wisest solutions is to modify the source code of Luabind directly.
    // As an alternative way, the following workaround can avoid modifying it but is unbeautiful and pollutes the namespace "boost". #if (BOOST_VERSION >= 105700)
    #include <boost/operators.hpp>
    namespace luabind
    {
    namespace detail
    {
    // Forward declaration
    template<typename T> class basic_iterator;
    }
    }
    namespace boost
    {
    template<typename T> bool operator ==(
    const luabind::detail::basic_iterator<T>& x,
    const luabind::detail::basic_iterator<T>& y)
    {
    return boost::iterators::operator ==(x, y);
    } template<typename T> bool operator !=(
    const luabind::detail::basic_iterator<T>& x,
    const luabind::detail::basic_iterator<T>& y)
    {
    return boost::iterators::operator !=(x, y);
    }
    }
    #endif
  • 为config。h,和lua_include.hpp 添加#include "luabind_compatibility.hpp"
  • 在policy。hpp添加
  • LUABIND_NUMBER_CONVERTER(long double, number)
    LUABIND_NUMBER_CONVERTER(__int64, number)
    LUABIND_NUMBER_CONVERTER(unsigned __int64, number)

如何编译luabind支持vs2010之后所有版本的更多相关文章

  1. Sandcastle Help File Builder(.NET帮助文档工具)的版本选择心得——支持VS2010至VS2015,高版本项目文件问题

    作者: zyl910 一.缘由 "Sandcastle Help File Builder"(简称SHFB)是一个很好用.NET 帮助文档生成工具. 但它的每个版本支持的VS版本范 ...

  2. 详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法

    详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法 一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src- ...

  3. 编译安装HTTPD 2.4.9版本

    编译安装HTTPD 2.4.9版本    服务脚本:/etc/rc.d/init.d/httpd    脚本配置文件路径:/etc/sysconfig/httpd    运行目录:/etc/httpd ...

  4. ios 编译openssl支持arm64(转)

    最近在编译支付宝 快捷支付(无线) ios 端的时候发现demo不支持arm64.在网上找了下,看到客服说是openssl的库文件不支持arm64,于是自己编译了支持arm64的库文件,发现还是不行, ...

  5. 编译GDAL支持ArcObjects

    编译GDAL支持ArcObjects. 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示: #uncomment to use ArcObjects ARCOBJECTS_ ...

  6. VS2015编译GEOS的debug和release版本

    目前GEOS最新的3.7.1版本支持camke进行编译.经过尝试发现通过cmake生成的工程在vs2015下面编译的时候还是存在问题,而且在中文网上也没找到解决方案. 所以还是采用了nmake进行编译 ...

  7. json库的编译方法和vs2010中导入第三方库的方法

    json库的编译方法和vs2010中导入第三方库的方法 一.去相应官网下载json.cpp文件 Jsoncpp下载:https://sourceforge.net/projects/jsoncpp/  ...

  8. nginx编译安装支持lua脚本

    一.准备编译环境 1.操作系统:CentOS7.6 2.安装编译所需安装包 yum install gcc pcre pcre-devel zlib zlib-devel openssl openss ...

  9. 动态编译库 Natasha 5.0 兼容版本发布

    Natasha 5.0 版本已于 2022/10/10 日发布, 此次大版本更迭带来了兼容性支持, 目前 Natasha 可以兼容 standard2.0 及 coreapp3.1 以上版本. 下载使 ...

随机推荐

  1. windows2012的服务器远程桌面提示内部错误的问题解决方法

    一.问题表象 我们在OpenStack安装了windows server2012r2版本的虚拟机,在本地通过远程桌面连接时,输入账号密码后,提示连接断开或者内部错误的问题 二.解决办法 1)windo ...

  2. ajax 提交form格式 和 json格式

    json 格式 内容在body中 ajax设置   Content-Type: application/json 浏览器查看为 Request Payload The Request Payload ...

  3. 一:配置Linux Centos7 .netCore 部署环境

    安装:jexus 官网: https://www.jexus.org/  下载专业(独立)版 博客地址: https://blog.csdn.net/xmroom/article/details/69 ...

  4. MVC简单增删改

    /// <summary> /// /显示分页 /// </summary> /// <param name="model"></para ...

  5. visual c++如何显示行号

    工具 -> 选项 -> 文本编辑器

  6. Groovy学习笔记-使用多赋值

    1.方法返回多个结果:返回数组,将多个变量逗号隔开,放在左侧圆括号中 def splitName (fullName) { fullName.split(' ') } def (firstName, ...

  7. C++入门程序作业3

    /* 输出n位数据的格雷码 The gray code is a binary numeral system where two successive values differ in only on ...

  8. vs2017 创建虚拟目录失败 http//locXXXXXX,vs2015 无法访问IIS源数据

    两个版本ide打开的错误提示不一样,但是一个解决都解决了 这个问题折磨了我接近五个小时 终于找到了解决方案,在百度上面搜的都没什么鸟用,最终还是在stackoverflow找到了解决方案,附上连接,虽 ...

  9. XShell转发数据库端口

    隧道添加 源主机为本地 目标主机为需要转发的主机

  10. Python字符串练习

    1. 确定一个字符串中有多少个元音字母 def getCount(inputStr): return len([a for a in inputStr if a in "aeiou" ...