[转载] VC2008下编译Lua和LuaBind

来源:互联网 发布:福克斯面具淘宝 编辑:程序博客网 时间:2024/04/30 18:44

 

源代码下载

下载lua

http://www.lua.org/download.html

目前的版本是5.1.4

 

下载luabind

http://sourceforge.net/projects/luabind/

目前的版本是0.9

 

下载boost

http://sourceforge.net/projects/boost/

目前的版本是1.42.0

boost可以不需要编译的,luabind编译时仅仅需要其头文件

 

建立项目

分别给lua和luabind建立VC项目

文件>新建>从现有代码创建项目,然后跟着向导走,选静态库项目

lua建立项目为Lua,精确到lua-5.1.4/src文件夹

luabind建立项目为LuaBind,精确到luabind-0.7/luabind/src文件夹

然后把Lua项目加入到解决方案LuaBind中

 

编译

编译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.9/luabind/、boost_1_42_0目录的引用,当然你需要根据你本地的文件目录结构改成相对路径的形式。比如在我机器上的配置为

../;../lua-5.1.4/src;../../boost_1_42_0

下面两步好像不做也可以:

1) 将Lua项目luaconf.h 322行 #undef LUA_COMPAT_GETN 改为 #define LUA_COMPAT_GETN

2) 在LuaBind项目lua_include.hpp 30行 添加语句 #include "lauxlib.h"

可以编译了