登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秒大刀 博客

好好学习 天天向上

 
 
 

日志

 
 
 
 

VC下编译lua和luabind纪实  

2008-09-19 13:14:37|  分类: Lua |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

@使用VS2008,相信VS2005也适用

源代码下载

下载lua
http://www.lua.org/download.html
我拿到的版本是5.1.4

下载luabind
http://sourceforge.net/projects/luabind/
我拿到的版本是0.7

下载boost
http://sourceforge.net/projects/boost/
最新版本是1.36.0,我网络比较慢,就先用已有的1.35.0了
boost可以不需要编译的,luabind编译时仅仅需要其头文件

建立项目
  • 分别给lua和luabind建立VC项目
  • 文件>新建>从现有代码创建项目,然后跟着向导走,选静态库项目
  • lua建立项目为Lua,精确到lua-5.1.4\src文件夹
  • luabind建立项目为LuaBind,精确到luabind-0.7\luabind\src文件夹
  • 在luabind项目中建立虚拟文件夹luabind和luabind\detail,然后对应将磁盘luabind-0.7\luabind\luabind中的头文件加入到项目中
  • 最后把这两个项目添加到通一个解决方案Lua中
编译

编译Lua项目

  • 将lua.c和luac.c从生成中排除或者从项目中移除
  • 修改项目属性:
    • 配置属性>常规>字符集 修改为 使用多字节字符集
    • 配置属性>C/C++>常规>检测64位可移植性问题 修改为 否
    • 配置属性>C/C++>高级>禁用特定警告 修改为 4996
  • 可以编译了

编译LuaBind项目

  • 修改项目属性:
    • 通用属性>框架和引用>添加新引用 添加对Lua项目的引用
    • 配置属性>常规>字符集 修改为 使用多字节字符集
    • 配置属性>C/C++>常规>检测64位可移植性问题 修改为 否
    • 配置属性>C/C++>高级>禁用特定警告 修改为 4996
    • 配置属性>常规>附加包含目录 添加对lua-5.1.4\src、luabind-0.7\luabind\、boost_1_35_0目录的引用,当然你需要根据你本地的文件目录结构改成相对路径的形式。比如在我机器上的配置为:../;../../../lua-5.1.4/src;../../../boost_1_35_0
  • 将Lua项目luaconf.h 322行 #undef LUA_COMPAT_GETN 改为 #define LUA_COMPAT_GETN
  • 在LuaBind项目lua_include.hpp 30行 添加语句 #include "lauxlib.h"
  • 可以编译了

2011-12-28
    也可以采用tolua++,这样可以避免引入boost。因tolua++采用的是自定义脚本预编译为C++代码,相比luabind编译期模板生成代码的方式,tolua++在编译速度上有明显优势。这点在大项目中尤为重要。
  评论这张
 
阅读(6330)| 评论(5)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018