Windows中编译Lua源码

Windows中编译Lua源码

生成静态库

  1. 下载Lua源码,我下载的是Lua-5.3.0
  2. 新建项目,选择Visual C++ -> Win32 -> Win32项目;项目名lualib,点击下一步选择“静态库”,取消勾选“预编译头”,点击完成。
    图1
  3. 将Lua源文件中的src文件夹及之下的所有文件拷贝到项目文件下,然后将src中的所有*.h文件拷贝到项目的头文件中,将src中所有的*.c文件拷贝到源文件中。
    图2
    图3
  4. 点击项目-属性,在配置属性->C/C++->常规->附加包含目录中添加刚才拷贝的项目目录下src的路径;在高级选项中的编译为选择C代码或C++代码(如果编译为C++代码,编译完后将lua.hpp中的extern “C”注释掉)。
    图4
    图5
  5. 编译生成库文件,在DEBUG模式下生成debug版本,在RELEASE目录下生成release版本。在配置管理器中Win32平台下,生成32位版本,在x64平台下生成64位版本。
    图6
    图7

解决方案下载连接(已编译出静态库)


测试
1. 在解决方案中新建Test项目,右键项目->设为启动项目,配置属性如下图
如下图

  1. 测试如下代码
#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!");

  运行结果
result

编译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源码

转载于:https://www.cnblogs.com/corfox/p/5414997.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值