7

我的应用程序依赖于 OpenSSL 库(通过 Qt 网络模块;由于法律问题,您不能将其静态编译成 Qt)

有这个项目 - Win32 OpenSSL

似乎我需要的只是将两个 dll 复制到 System32 并注册它们。

copy ssleay32.dll %WINDIR%\System32\ssleay32.dll
copy libeay32.dll %WINDIR%\System32\libeay32.dll
regsvr32.exe /s %WINDIR%\System32\ssleay32.dll
regsvr32.exe /s %WINDIR%\System32\libeay32.dll

事实上,这已经在办公室的几台机器上运行了(我的应用程序在操作后开始使用 https 正常工作)。那些上面安装了很多东西,所以它可能会干扰。

它仍然无法在 VMWare 下的干净虚拟机上运行。

虽然当我在它下面安装 Tortoise SVN(它也附带 OpenSSL)时,一切都很好。将openssl安装到系统中的正确方法是什么?

注意:Qt 网络模块有自己的证书颁发机构列表。

4

4 回答 4

3

只需将 DLL 放在应用程序的安装文件夹中即可。没有什么要注册的(无论如何你不能使用 regsvr32,因为 OpenSSL 没有实现 ActiveX/COM 服务器,而这正是 regsvr32 的用途)。

于 2010-08-24T22:41:23.063 回答
2

也许这两个 DLL 有进一步的依赖关系,SVN 已经为你安装了......

尝试使用取决于查看 OpenSSL DLL 使用哪些 DLL,并确保将它们安装在干净的 VMware 上。

于 2009-05-25T11:16:38.170 回答
1

您可以使用 Dependency Walker 检查您的应用程序具有哪些依赖项以及哪些依赖项无法解决。

http://www.dependencywalker.com/

只需将您的应用程序拖到 Dependency Walker,然后在左侧窗格中,您就会看到它需要运行的所有 dll。

于 2015-09-09T22:12:28.617 回答
0

您很可能依赖于 libsasl.dll,它随 tortoise-svn 一起提供!

于 2010-08-24T22:24:41.450 回答