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

我有一个关于Lua和https的问题。 我正在开发一些支持Lua的路由器软件。 坏事是这个路由器不支持debugging。 所以我正在为Lua寻找一个IDE。

我在Win 7 64位操作系统上使用Lua开发工具和LuaForWindows。 直到现在,一切工作就像它应该。 但现在我必须通过https调用一些URL。 路由器本身有一个包ssl.lua,你可以使用require ("ssl.https")语句来使用这个包。 但我想用Lua开发工具进行debugging。 我正在寻找Windows兼容的软件包,并find了“ Luasec ”项目。

正如在这个线程中提到的那样:“ 使用Freebase API的Lua ”; 我已经下载了Luasec 。

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

为了testing,我只在我的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) 

我已经testing了一个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) 

有谁能帮我做这个工作吗?

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

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

我有一个我加载的DLL的32位版本,而且工作。 看看你是否也可以找到你的图书馆的32位版本。

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

我昨天得到了这个问题,并通过下载Luasec的源代码解决了这个问题,并建立在一个32位Windows 7的PC上的静态库。 你可以尝试建立你自己的。

我在项目的C / C ++和链接器属性中更改了一些配置。 以下是我所改变的:

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

或者,如果你需要,你可以在这里下载我的版本。