Lua for windows https错误:“%1不是有效的Win32应用程序”

时间:2013-07-17 07:26:45

标签: windows ssl https lua luasec

我对Lua和https有疑问。我正在为支持Lua的路由器开发一些软件。不好的是这台路由器不支持调试。所以我在为Lua寻找一个IDE。

我在Win 7 64位操作系统上使用Lua开发工具和LuaForWindows。直到现在一切都像它应该的那样。但现在我必须通过https拨打一些网址。路由器本身有一个包ssl.lua,您可以使用require ("ssl.https")语句来使用此包。但我想用Lua开发工具调试它。我正在搜索Windows兼容软件包,并找到了“ Luasec ”项目。

如本主题“Lua with the Freebase API”所述;我已下载Luasec

我已将ssl.lua和ssl文件夹放在我的lua安装中,我将ssl.dll放在lua安装中的clibs文件夹中。

为了测试我只在我的Lua文件中执行require(“ssl.https”)但它崩溃了。它说:

C:\Program Files (x86)\Lua\5.1\lua.exe: error loading module 'ssl.core' from file 'C:\Program Files (x86)\Lua\5.1\clibs\ssl.dll':
    %1 ist keine zulässige Win32-Anwendung. (%1 is no a valid Win32 application)

我已经在Win 7 32位PC上测试了它并且它崩溃了:

C:\Program Files\Lua\5.1\lua.exe: error loading module 'ssl.core' from file 'C:\Program Files\Lua\5.1\clibs\ssl.dll':
    Das angegebene Modul wurde nicht gefunden. (The module cant be found)

有人可以帮助我完成这项工作吗?

2 个答案:

答案 0 :(得分:3)

我在Windows 7 64位上也遇到了同样的问题,使用Alien来加载Windows DLL。

我加载的库(即DLL)是64位DLL,但Lua for Windows是32位应用程序。

我有一个32位版本的DLL,我加载了,这是有效的。看看你是否也能找到32位版本的库。

至于你在32位Windows上的问题,当然可能是由于其他因素,但如果你使用相同的64位DLL,我想这也不会有用。

答案 1 :(得分:1)

我昨天遇到了这个问题并通过下载Luasec的源代码并在32位Windows 7 pc上使用静态库构建它来解决它。你可以尝试建立自己的。

我在项目的C / C ++和Linker属性中更改了一些配置。 以下是我改变的内容:

  • C / C ++ - >代码生成 - >运行时库:多线程(/ MT)
  • 链接器 - >一般 - >其他库目录:C:\ OpenSSL-Win32 \ lib \ VC \ static
  • 链接器 - >输入 - >其他依赖项:添加libeay32MT.lib和ssleay32MT.lib

或者,如果需要,您可以下载我的here版本。