Visual Studio编译Lua

  • 下载地址
  • 创建项目
  • 静态库
  • 动态库
  • 解释器
  • 源码版
  • 静态链接版
  • 动态链接版
  • 编译器
  • 源码版
  • 静态链接版
  • 动态链接版


下载地址

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

创建项目

打开Visual Studio,在主界面点击菜单栏的文件,先选中下拉菜单的新建,再点击子菜单的项目。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua


弹出新建项目窗口,窗口左边是目录树,依次展开已安装、Visual C++,点击Windows桌面,之后在右边选择Windows桌面向导,在下边的名称输入框之中为项目取名为lua,点击位置输入框右边的浏览,弹出项目位置窗口,选择项目存放位置,最后点击确定。如下图所示:

lua没有创建文件夹权限 lua创建窗口_C/C++_02


出现Windows桌面项目的向导窗口,应用程序类型默认为控制台应用程序,在其他选项中勾选空项目,之后点击确定。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua_03


自动创建项目之后回到主界面,在工具栏之上,版本配置为Release,平台选择x64,可自行选择版本和平台。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua没有创建文件夹权限_04


在解决方案资源管理器右击项目名lua,弹出右键菜单,选择在文件资源管理器中打开文件夹,即工作目录。如以下两图所示:

lua没有创建文件夹权限 lua创建窗口_Visual Studio_05


lua没有创建文件夹权限 lua创建窗口_lua_06


解压lua源码压缩包,打开lua源码根目录的src文件夹,复制除Makefile之外的所有文件至工作目录。如以下两图所示:

lua没有创建文件夹权限 lua创建窗口_lua没有创建文件夹权限_07


lua没有创建文件夹权限 lua创建窗口_Visual Studio_08

静态库

切换至Visual Studio主界面,在解决方案资源管理器右击项目名lua,弹出右键菜单,先选中右键菜单的添加,再点击子菜单的现有项。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Visual Studio_09


弹出添加现有项窗口,选择除lua.hpp、lua.c和luac.c之外的源码文件,之后点击添加。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua_10


在解决方案资源管理器右击项目名lua,弹出右键菜单,选择属性。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Visual Studio_11


出现项目属性页,左边展开配置属性,选中常规,右边先展开常规,修改目标文件扩展名为.lib,再展开项目默认值,配置类型选择静态库(.lib),最后点击确定。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua没有创建文件夹权限_12


在主界面点击菜单栏的生成,弹出下拉菜单,选择生成解决方案。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Lua_13


输出窗口有生成过程,提示生成成功。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua没有创建文件夹权限_14


生成的静态库lua.lib位于默认输出目录。如下图所示:

lua没有创建文件夹权限 lua创建窗口_C/C++_15

动态库

编译动态库和静态库的步骤相似,只是项目配置不同,再次打开项目属性页,左边展开配置属性,选中其下的常规,右边修改目标文件扩展名为.dll,修改配置类型为动态库(.dll)。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua_16


展开项目属性页左边的C/C++,选中预处理器,在右边的预处理器定义输入框之中添加LUA_BUILD_AS_DLL,以英文分号间隔,之后点击确定。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua没有创建文件夹权限_17


点击菜单栏的生成,选择生成解决方案,输出窗口提示生成成功。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua_18


生成的链接库lua.lib和动态库lua.dll位于默认输出目录。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Lua_19

解释器

源码版

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

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

然后还原项目属性,打开项目属性页,左边展开配置属性,选中其下的常规,右边修改目标文件扩展名为.exe,修改配置类型为应用程序(.exe)。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua_20


展开项目属性页左边的C/C++,选中预处理器,在右边的预处理器定义输入框之中删除LUA_BUILD_AS_DLL,之后点击确定。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Visual Studio_21


点击菜单栏的生成,选择生成解决方案,输出窗口提示生成成功。如下图所示:

lua没有创建文件夹权限 lua创建窗口_C/C++_22


生成的解释器lua.exe位于默认输出目录。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Lua_23

静态链接版

待续…

动态链接版

待续…

编译器

源码版

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

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

然后操作解决方案资源管理器的目录树,依次展开项目lua、源文件,在其中寻找lua.c并右击之,弹出右键菜单,选择移除。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Visual Studio_24


弹出确认窗口,点击移除。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua_25


打开项目属性页,左边展开配置属性,选中常规,右边修改目标文件名为luac,之后点击确定。如下图所示:

lua没有创建文件夹权限 lua创建窗口_Visual Studio_26


点击菜单栏的生成,选择生成解决方案,输出窗口提示生成成功。如下图所示:

lua没有创建文件夹权限 lua创建窗口_C/C++_27


生成的编译器luac.exe位于默认输出目录。如下图所示:

lua没有创建文件夹权限 lua创建窗口_lua没有创建文件夹权限_28

静态链接版

待续…

动态链接版

待续…