Windows中编译Lua源码
2015-10-10 13:05
274 查看
Windows中编译Lua源码
生成静态库
下载Lua源码,我下载的是Lua-5.3.0新建项目,选择Visual C++ -> Win32 -> Win32项目;项目名lualib,点击下一步选择“静态库”,取消勾选“预编译头”,点击完成。
将Lua源文件中的src文件夹及之下的所有文件拷贝到项目文件下,然后将src中的所有
*.h文件拷贝到项目的头文件中,将src中所有的
*.c文件拷贝到源文件中。
点击项目-属性,在配置属性->C/C++->常规->附加包含目录中添加刚才拷贝的项目目录下src的路径;在高级选项中的编译为选择C代码或C++代码(如果编译为C++代码,编译完后将lua.hpp中的extern “C”注释掉)。
编译生成库文件,在DEBUG模式下生成debug版本,在RELEASE目录下生成release版本。在配置管理器中Win32平台下,生成32位版本,在x64平台下生成64位版本。
解决方案下载连接(已编译出静态库)
测试
1. 在解决方案中新建Test项目,右键项目->设为启动项目,配置属性
测试如下代码
#include <iostream> #include <lua.hpp> using namespace std; int main(void) { lua_State *state = luaL_newstate(); luaL_openlibs(state); //const char *buf = "print('Hello world')"; luaL_dofile(state, "main.lua"); //luaL_dostring(state, buf); lua_close(state); system("pause"); return 0; }
main.lua
print("Hello World!");
运行结果
编译Lua动态链接库、解释器与编译器
在src的同级目录下,创建如下bat脚本。生成Lua动态链接库、解释器、编译器
rem to generate dynamic link library cd src cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c del lua.obj link /DLL /out:lua53.dll l*.obj rem to generate interpreter cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c link /out:lua.exe lua.obj lua53.lib rem to generate compiler del lua.obj link /out:luac.exe l*.obj cd .. cd ..
进入VS 命令行工具,运行上面的脚本文件。
编译结果
参考资料
1. Windows下编译Lua源码
相关文章推荐
- lua版本敏感词
- Lua查找表元素过程(元表、__index方法是如何工作的)
- lua对sqlite数据库操作封装
- (使用lua++)Lua脚本和C++交互(三)
- [lua]笔试-按字典序列出指指定的序列的位置
- [lua]笔试-组合概率
- 如何在lua中打印一个数组(table)
- lua中pairs 和 ipairs区别
- lua string.byte 中文处理
- lua学习
- Lua高级教程Metatables
- lua的开始之旅
- lua中实现类的继承
- 关于Lua中const型变量或者常量的实现
- lua中给表(table)重载运算符,使table之间可以互相加减乘除
- Lua学习笔记
- luaintf的多线程一个隐藏bug,库中的变量没有加锁
- Lua中打印Table的方法
- 15分钟lua 练习
- Lua学习之Mac下封装C模块