Visual Studio 2017编译Lua源代码

本文详细介绍了如何使用Visual Studio 2017编译Lua源代码,包括生成静态库、解释器及编译器的步骤。通过创建不同类型的项目,如动态库、静态库和应用程序,可以分别编译出lua.dll、lua.lib、lua.exe和luac.exe。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:https://blog.youkuaiyun.com/qq_21397217/article/details/83001161

Visual Studio 2017编译Lua源代码

准备工作

  • 需要带有C++开发组件的Visual Studio
  • 需要Lua源代码(下载页面

下载得到的Lua源代码是一个tar.gz格式的压缩包,提取出其中的 src 文件夹,这个文件夹中包含了 Lua解释器 、 Lua编译器 和 Lua链接库 的源代码。

这里是我编译生成好的Lua静态库:https://download.youkuaiyun.com/download/qq826364410/11029611

 

编译Lua链接库(lua.dll或lua.lib)


打开Visual Studio,新建一个 Visual C++空项目 ,项目名称为LuaDll(或LuaLib)。
打开 项目属性页 ,设置 目标平台(Win32或x64),在 配置属性-常规-项目默认值 中选择 配置类型 为 动态库(.dll) (或 静态库(.lib) ),保存更改。
将从Lua源代码压缩包中提取的 src 文件夹复制到项目文件夹中,在 解决方案资源管理器 菜单栏中勾选 显示所有文件 ,然后选择 src 文件夹,通过右键菜单中的 包括在项目中 选项将 src 文件夹添加到项目中。
展开 src 文件夹,选中文件 lua.c 、 luac.c 、 lua.hpp ,通过右键菜单的 从项目中排除 选项将文件 lua.c 、 luac.c 、 lua.hpp 从项目中移除。
在Visual Studio菜单栏中选择 生成-生成 LuaDll (或 生成-生成 LuaLib )来生成可链接库。
链接库的生成位置:

32位:LuaDll/Release/
64位:LuaDll/x64/Release/

注意:因为要在其他的工程中引用Lua头文件,起初为了方便,新建了一个文件夹,把所有的.h文件放到其中,导致在编译Lua链接库时,报错找不到.h文件。

建议:新建一个文件夹,把所有的.h文件复制放到其中,原来的src文件夹保持原样。当然,要删除lua.c 、 luac.c 、 lua.hpp这三个文件。按照上面的方法,把src文件夹包括在项目中,编译成功。

 

编译Lua解释器(lua.exe)


打开Visual Studio,新建一个 Visual C++空项目 ,项目名称为Lua。
打开 项目属性页 ,设置 目标平台(Win32或x64),在 配置属性-常规-项目默认值 中选择 配置类型 为 应用程序(.exe) ,保存更改。
将从Lua源代码压缩包中提取的 src 文件夹复制到项目文件夹中,在 解决方案资源管理器 菜单栏中勾选 显示所有文件 ,然后选择 src 文件夹,通过右键菜单中的 包括在项目中 选项将 src 文件夹添加到项目中。
展开 src 文件夹,选中文件 luac.c ,通过右键菜单的 从项目中排除 选项将文件 luac.c 从项目中移除。
在Visual Studio菜单栏中选择 生成-生成 Lua 来生成可执行程序。
可执行文件的生成位置:

32位:Lua/Release/
64位:Lua/x64/Release/


编译Lua编译器(luac.exe)


打开Visual Studio,新建一个 Visual C++空项目 ,项目名称为Luac。
打开 项目属性页 ,设置 目标平台(Win32或x64),在 配置属性-常规-项目默认值 中选择 配置类型 为 应用程序(.exe) ,保存更改。
将从Lua源代码压缩包中提取的 src 文件夹复制到项目文件夹中,在 解决方案资源管理器 菜单栏中勾选 显示所有文件 ,然后选择 src 文件夹,通过右键菜单中的 包括在项目中 选项将 src 文件夹添加到项目中。
展开 src 文件夹,选中文件 lua.c ,通过右键菜单的 从项目中排除 选项将文件 lua.c 从项目中移除。
在Visual Studio菜单栏中选择 生成-生成 Luac 来生成可执行程序。
可执行文件的生成位置:32位:Luac/Release/
64位:Luac/x64/Release/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值