(连载)在 windows 中搭建 lua 应用环境(四)

lua 解释器和 lua 库文件(.lib 文件)编译与部署。

  • 思路

    搭建 lua 应用环境,首先需要编译的就是 lua 本身。考虑到后续 lua module 编译需要使用 lua 库文件,因此还需要编译 lua 库文件。结合 visual studio 项目管理模式,可建立一个解决方案,该解决方案包含两个项目,一个负责编译 lua 库文件,另一个负责编译 lua 解释器。建立 visual studio 用户自定义宏,所有 visual studio 项目共享自定义宏信息。
    用户自定义宏路径:综合项目框架目录\vs\public.props

visual studio IDE 自动分析 .c 文件的依赖关系,可使用 drag and drop 方式,把 .c 文件拖动并放至对应项目,如图所示:
p4
从上图可以看出,visual studio 以相对目录的方式管理 .c 文件,这使得 visual studio 项目不受绝对路径影响,目录整体移动不影响项目再次打开,对 git 友好。
建立 visual studio 项目,其中 lua 解决方案包含 lualibluaexe 两个项目,如图所示
p3
p2
目录布局如图所示:
p1
其中,src\lua-5.3.4*\ 存放 *lua 源码;vs\lua*\ 存放 *visual studio lua 解决方案,包含 lualibluaexe 两个项目。

  • lualib 项目

    lua.cluac.c 文件外,把所有 .c 文件拖放至 lualib 项目下

visual studio 用户自定义宏如图所示:
p1
lualib 项目配置如图所示:
p2

  • luaexe 项目

    lua.c 文件拖放至 luaexe 项目下

visual studio 用户自定义宏如图所示:
p3
luaexe 项目配置如图所示:
p4
p5
p6

  • 结束语

    lua 源码拆分成 lualibluaexe 两个项目,具体思路来自源码自带说明文档、Makefile 文件内容和互联网搜索,在此不再赘述。本文未考虑 c/c++ 编译参数调优,容后续补充。如果编译顺利,lua 解释器可正常运行,如图所示:
    p7