目錄
- 前言
- 編譯
- 總結
前言
lua是一個非常好用的動態語音,最適合嵌入其他程式中使用,
我已經見過很多軟體使用lua腳本讓用戶自定義想要的功能,而那些軟體為lua提供介面即可,完成高度可定制的需求,
例如大名鼎鼎的Redis就使用lua作為嵌入腳本,還有Nginx-lua,Skynet等我用過的軟體都是嵌入lua腳本,
因此編譯lua成了基本操作,完成了這個基本操作,才能進行下一步的定制,
編譯
- Linux只需要準備gcc環境,這個比較簡單,window可參考我這篇文章,
- 下載lua原始碼下載地址,完了使用cmd命令列視窗進入lua的src目錄,
- Linux下:
make linux test,windos下:make mingw test,然后就可以編譯成功, - 為編譯后的可執行程式添加圖示:
準備一個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,修改方法如下所示,
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檔案
- 最終編譯出來的可執行程式如下圖所示:

- 下圖表示編譯后的可執行程式按照lua.rc中填寫的資訊展示,

總結
自己動手編譯lua可執行程式程序中雖然遇到了很多問題,但都一一解決了,最后保存編譯后的結果,美滋滋,
需要注意的是編譯后需要使用的檔案有:lua.exe、luac.exe、lua54.dll
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250438.html
標籤:C
