Lua需要在Windows 7中运行,但不适用于XP

时间:2013-03-03 16:37:25

标签: lua

我需要一个具有基本要求的模块:

  require "luatorrent"

并且在32位和64位版本的Windows 8/7 / Vista上一切正常,但是当项目在XP上运行时,我收到此错误:

enter image description here

所以问题是:

答:任何人都知道为什么这个问题似乎是XP特定的,即使它与Lua 5.1和其他文件完全相同?

B:如果没有重新编译模块这不是可修复的东西,我不能这样做,因为它旧的并且没有源,那么我可以以某种方式执行需求然后获得真/假如果加载所以我可以做“if”语句继续加载模块的函数,因为抛出的错误会破坏代码并且应用程序不会继续?

2 个答案:

答案 0 :(得分:3)

查看Lua Reference Manual entry on package.loaders

第一个加载器在package.path中找到DLL,并尝试将其作为DLL加载。它失败并显示您看到的错误消息。因此,Lua通常继续使用DLL加载器,它在package.cpath中查找DLL。我想你的文件不在cpath。或者,DLL加载器可能会丢失。检查#package.loaders != 4

对于调试,您还可以尝试通过低级package.loadlib函数加载DLL(函数名应为"luaopen_luatorrent")。

我想到的另一个原因是,DLL是64位,但是你的XP是32位。但我认为,在这种情况下,错误消息看起来会有所不同。

答案 1 :(得分:1)

感谢帮助人们,事实证明libeay32.dll需要在system32或与该模块工作的模块相同的文件夹中。