编译lua可执行程序

前言

lua是一个很是好用的动态语音,最适合嵌入其余程序中使用。
我已经见过不少软件使用lua脚本让用户自定义想要的功能,而那些软件为lua提供接口便可,完成高度可定制的需求。
例如大名鼎鼎的Redis就使用lua做为嵌入脚本,还有Nginx-lua,Skynet等我用过的软件都是嵌入lua脚本。
所以编译lua成了基本操做,完成了这个基本操做,才能进行下一步的定制。html

编译

  1. Linux只须要准备gcc环境,这个比较简单。window可参考我这篇文章
  2. 下载lua源码下载地址,完了使用cmd命令行窗口进入lua的src目录。
  3. Linux下:make linux test,windos下:make mingw test,而后就能够编译成功。
  4. 为编译后的可执行程序添加图标:
    准备一个lua.rc文件,在这个文件中能够定义编译后的exe文件不少其余信息,内容以下:
id ICON "lua.ico"
1 VERSIONINFO
FILEVERSION     5,4,2,0
PRODUCTVERSION  5,4,2,0
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "080404E4"
    BEGIN
      VALUE "CompanyName", "Janbar Company"
      VALUE "FileDescription", "Janbar build lua"
      VALUE "FileVersion", "5.4.2"
      VALUE "InternalName", "lua"
      VALUE "LegalCopyright", "Janbar"
      VALUE "OriginalFilename", "lua.exe"
      VALUE "ProductName", "lua"
      VALUE "ProductVersion", "5.4.2"
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x804, 1252
  END
END

准备一个lua.ico的图片文件,我是48×48的大小。
而后修改Makefile,修改方法以下所示。linux

LUA_T=	lua
LUA_O=	lua.o luarc.o  # 增长luarc.o一块儿编译出lua.exe
LUAC_T=	luac
LUAC_O=	luac.o luarc.o  # 增长luarc.o一块儿编译出luac.exe

mingw:
	windres lua.rc -O coff -o luarc.o   #这里增长一行编译lua.rc文件
  1. 最终编译出来的可执行程序以下图所示:

  1. 下图表示编译后的可执行程序按照lua.rc中填写的信息展现。

总结

本身动手编译lua可执行程序过程当中虽然遇到了不少问题,但都一一解决了,最后保存编译后的结果,美滋滋。
须要注意的是编译后须要使用的文件有:lua.exe、luac.exe、lua54.dllui

相关文章
相关标签/搜索