Visual Studio 2017编译Lua 5.3.5

下载地址

官方网站:http://www.lua.org/ftp/

创建项目

打开Visual Studio,在主界面点击菜单栏的文件,先选中下拉菜单的新建,再点击子菜单的项目。如下图所示:
创建项目
弹出新建项目窗口,窗口左边是目录树,依次展开已安装、Visual C++,点击Windows桌面,之后在右边选择Windows桌面向导,在下边的名称输入框之中为项目取名为lua,点击位置输入框右边的浏览,弹出项目位置窗口,选择项目存放位置,最后点击确定。如下图所示:
新建项目
出现Windows桌面项目的向导窗口,应用程序类型默认为控制台应用程序,在其他选项中勾选空项目,之后点击确定。如下图所示:
Windows桌面向导
自动创建项目之后回到主界面,在工具栏之上,版本配置为Release,平台选择x64,可自行选择版本和平台。如下图所示:
项目版本
在解决方案资源管理器右击项目名lua,弹出右键菜单,选择在文件资源管理器中打开文件夹,即工作目录。如以下两图所示:
项目右键菜单
工作目录
解压lua源码压缩包,打开lua源码根目录的src文件夹,复制除Makefile之外的所有文件至工作目录。如以下两图所示:
源码
复制源码

静态库

切换至Visual Studio主界面,在解决方案资源管理器右击项目名lua,弹出右键菜单,先选中右键菜单的添加,再点击子菜单的现有项。如下图所示:
添加现有项
弹出添加现有项窗口,选择除lua.hpp、lua.c和luac.c之外的源码文件,之后点击添加。如下图所示:
添加源码
在解决方案资源管理器右击项目名lua,弹出右键菜单,选择属性。如下图所示:
项目属性
出现项目属性页,左边展开配置属性,选中常规,右边先展开常规,修改目标文件扩展名为.lib,再展开项目默认值,配置类型选择静态库(.lib),最后点击确定。如下图所示:
项目属性页
在主界面点击菜单栏的生成,弹出下拉菜单,选择生成解决方案。如下图所示:
生成解决方案
输出窗口有生成过程,提示生成成功。如下图所示:
生成信息
生成的静态库lua.lib位于默认输出目录。如下图所示:
静态库

动态库

编译动态库和静态库的步骤相似,只是项目配置不同,再次打开项目属性页,左边展开配置属性,选中其下的常规,右边修改目标文件扩展名为.dll,修改配置类型为动态库(.dll)。如下图所示:
常规配置
展开项目属性页左边的C/C++,选中预处理器,在右边的预处理器定义输入框之中添加LUA_BUILD_AS_DLL,以英文分号间隔,之后点击确定。如下图所示:
预处理器
点击菜单栏的生成,选择生成解决方案,输出窗口提示生成成功。如下图所示:
生成信息
生成的链接库lua.lib和动态库lua.dll位于默认输出目录。如下图所示:
动态库

解释器

源码版

解释器相比动静态库,编译的源文件多出lua.c。可以选择重新创建项目编译解释器,或者基于编译动态库的项目编译解释器。

此处基于编译动态库的项目直接编译解释器,首先按照编译静态库的第一步,向项目添加现有项,即源文件lua.c。

然后还原项目属性,打开项目属性页,左边展开配置属性,选中其下的常规,右边修改目标文件扩展名为.exe,修改配置类型为应用程序(.exe)。如下图所示:
常规配置
展开项目属性页左边的C/C++,选中预处理器,在右边的预处理器定义输入框之中删除LUA_BUILD_AS_DLL,之后点击确定。如下图所示:
预处理器
点击菜单栏的生成,选择生成解决方案,输出窗口提示生成成功。如下图所示:
生成信息
生成的解释器lua.exe位于默认输出目录。如下图所示:
解释器

静态链接版

待续…

动态链接版

待续…

编译器

源码版

编译器相比解释器,在编译的源文件之中,需要替换lua.c为luac.c,当然可以重新创建项目编译,或者基于编译解释器的项目编译。

此处基于编译解释器的项目直接编译,首先按照编译静态库的第一步,向项目添加现有项,即源文件luac.c。

然后操作解决方案资源管理器的目录树,依次展开项目lua、源文件,在其中寻找lua.c并右击之,弹出右键菜单,选择移除。如下图所示:
移除源文件
弹出确认窗口,点击移除。如下图所示:
确认移除
打开项目属性页,左边展开配置属性,选中常规,右边修改目标文件名为luac,之后点击确定。如下图所示:
目标文件名
点击菜单栏的生成,选择生成解决方案,输出窗口提示生成成功。如下图所示:
生成信息
生成的编译器luac.exe位于默认输出目录。如下图所示:
编译器

静态链接版

待续…

动态链接版

待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值