Lua实战笔记第1篇 VS编译Lua5.3和Lua5.1

时间:2024-03-24 17:03:13

首先登陆Lua官方下载Lua源码包“Lua5.1.5”和“Lua5.3.5”

一、编译Lua5.3

    首先在VS2017中创建解决方案

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

继续创建 C++动态链接库工程“Lua5.3”

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

解压Lua5.3,将src目录copy至当前工程所在目录,然后将src目录下所有的 .c和.h文件添加至当前工程

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

    更改工程配置属性“C/C++ => 预编译头”为“不使用预编译头

 

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

编译工程,提示错误如下

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

需要找到“lua.c”和“luac.c”源文件,将其中的“main”函数修改为其他名称

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

修改完成后,重新编译工程,编译通过

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

此时,解决方案目录下多了一个名为“Debug”的目录,生成的dll文件就在此目录下

 

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

工程配置属性“C/C++ => 预处理器”添加宏定义 “LUA_BUILD_AS_DLL”

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

 

重新编译工程,打开解决方案目录下的“Debug”目录,lib文件也生成了

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

 

二、编译Lua5.1

 

    Lua5.1的dll编译方法与5.3操作完全相同,但是编译时会报出如下错误

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

    添加宏“ _CRT_SECURE_NO_WARNINGS”至预处理器

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1

 

重新编译Lua5.1工程,至此为止Lua5.1和Lua5.3均已经编译完成动态链接库,接下来我们就可以使用它们啦

Lua实战笔记第1篇 VS2017编译Lua5.3和Lua5.1