如何设置一个 lua.dll,以便 lua.exe 不会在每个目录中都要求它?

每当我在命令行中输入 lua my_script.lua 时,它会在同一文件夹中提示我需要 lua53.dll。我该如何设置路径,以便在运行 .lua 文件的每个文件夹中都不需要复制 lua 库的副本?我不知道这是通过参数还是应该使用环境变量从 .c 文件构建自己的 .exe 来实现,但我真的不知道。

我从 http://luabinaries.sourceforge.net 下载了二进制文件(v5.3.2 - May 19th),并将 lua.exe 放在了 C:/Windows/System32 中。

点赞
用户1442917
用户1442917

根据 这篇 MSDN 文章,应用程序加载的目录是被首先检查 DLL 文件的位置。如果你把 DLL 文件放在 lua.exe 所在的位置旁边,系统就可以找到并加载该 DLL 文件。

最好不要把应用程序文件放到系统文件夹中。只需创建一个单独的文件夹,并将 Lua 文件(.exe 和 .dll)放在其中。然后,您可以将该文件夹添加到 PATH 环境变量中,这样当您将其作为 lua 运行时,就可以找到它。

2015-07-27 23:12:13