Lua standalone 打包 package
过程凌乱,结果见最后。
[ANN] updated srlua, a tool for building self-running Lua programs (lua-users.org)
有LuaRock(仅有作者页面,无模块Modules)
Luiz Henrique de Figueiredo: Libraries and tools for Lua (puc-rio.br)
详见README。
srlua编译生成exe可执行文件_风轻淡淡的博客-CSDN博客
glue srlua.exe srluademo.lua srluademo.exe
lua打包exe【转】 - 极客分享 (geek-share.com)
glue srlua.exe test.lua test.exe
其他参考:Creating stand-alone executeables from .lua files : lua (reddit.com)
测试:
建议在脚本入口处设置package.path/cpath。
(以上下载的编译好版本)默认用的Lua5.1(编译srlua时确定的),会自动使用系统环境变量LUA_PATH、LUA_CPATH。
需要自行编译了..
阅读:Luiz Henrique de Figueiredo: Installing my Lua Libraries (puc-rio.br)\Building the library
srlua-102.tar.gz\README
设置变量、编译参数。
参见cygwin64 linux 命令
尝试手动拼接,运行失败
构造测试。文本文件如自定义命名为make.cmd。
1 2 3 | srglue srlua.exe main.lua test .exe test .exe pause |
打包后出现问题(打包前正常)
1 2 | test .exe: error loading module 'iuplua' from file 'C:\ProgramFiles\ZeroBraneStudio\bin\clibs53\iuplua53.dll' : %1 不是有效的 Win32 应用程序。 |
可能是他们都得使用相同的编译器/编译设置?!否则二进制不兼容!
以上的iuplua.dll对应iup-XXX_Lua53_Win32_dllXXX_lib。
查看编译出来的exe,发现是64位,>make --version得GNU Make 4.2.1、Built for x86_64-w64-mingw32。而require的dll是32位。
参见:怎样判断一个exe可执行程序是32位的还是64位的-百度经验 (baidu.com)
去MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net更新32 bit的make。
在其他零零散散的记录中完成了。回头有需求再整理文档。先分享lua package-srglue srlua-windows:
https://pan.baidu.com/s/1HfggGjZBx5JfnSbOYoAYSg,9xfw
水平有限,折腾出来不容易,欢迎留言..
打包后是生成一个exe应用程序,且至少依赖dll,不确定是否依赖require的其他remoteLib.lua。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?