我已经安装了Luadist并创建了一个小程序(名为abcd.lua它也使用IUP GUI)。它与命令一起运行良好iuplua.exe abcd.lua
我想把它交给其他人尝试。由于Lua可能没有安装在他们的计算机上,我想用Luadist文件夹给他们。我看到Luadist文件夹中有大量文件(确切地说是1148 - 尝试在此处列出它们,但它超过了字符数)。它们位于以下文件夹中:
bin : has large number of exe and dll files.
include: has lauxlib.h luaconf.h lua.h lua.hpp lualib.h
lib: has liblua.dll.a and its extracted folder and a lua folder with large number of subfolders and files
share: also has large number of folders and files.
tmp: only empty cache folder currently
以下文件的名称中包含"iup":
./share/luadist-git/dists/iup-3.6
./share/luadist-git/dists/iup-3.6/dist.info
./share/iup
./share/iup/README
./share/iup/COPYRIGHT
./lib/lua/iupluaimglib.dll
./lib/lua/iuplua.dll
./lib/lua/iuplua_mglplot.dll
./lib/lua/iupluacd.dll
./lib/lua/iupluacontrols.dll
./lib/lua/iupluagl.dll
./lib/lua/iuplua_pplot.dll
./lib/lua/iupluatuio.dll
./lib/lua/iupluaim.dll
./bin/libiuptuio.dll
./bin/libiup_pplot.dll
./bin/iuplua.exe
./bin/iupview.exe
./bin/libiup.dll
./bin/libiupgl.dll
./bin/libiupcd.dll
./bin/libiupim.dll
./bin/libiupimglib.dll
./bin/libiup_mglplot.dll
./bin/libiuplua.dll
./bin/libiupcontrols.dll
仅将这些文件与我的程序文件(abcd.lua)一起提供就足够了吗,尽管我认为还需要许多dll文件?
我可以选择提供哪些文件或文件夹,还是需要提供所有文件才能正常运行我的程序?感谢您的帮助。
在 IUP 文档中,每个库都描述了其依赖项。你可以从那里开始。
但答案取决于您使用的模块。如果你做的唯一"要求"是"iup",那么它很简单。您将需要可执行文件,Lua DLL,IUP DLL和IUPLUADR码。
您有几个选择:
(1) 将可执行文件移动到其他文件夹并启动脚本。它将失败,并显示有关缺少 DLL 的错误消息;将 DLL 移动到包含可执行文件的文件夹,然后重复此操作。这应该为您提供依赖项列表,假设执行将遵循加载外部模块的所有代码路径。
(2) 使用依赖关系查看器查找可执行文件及其 DLL 具有的所有依赖项。此方法的优点是您可以在不移动任何文件的情况下执行它,它将为您提供对依赖项的详细分析以及如何在系统上解析它们。
请记住,您不需要保留LuaDist为动态库保留相同的结构;您可以将脚本所需的所有DLL放在可执行文件旁边(这可能是最简单和最成功的配置)。