我正在开发一个使用QSslSocket与远程服务器建立安全连接的软件。我使用的所有DLL(包括Qt的预编译DLL)都存储在" DLL"子文件夹。 我打算把" libeay32.dll"和" ssleay32.dll"进入该DLL子文件夹。因此,我复制了文件并相应地更新了我的清单文件。
<file name="libeay32.dll"/>
<file name="ssleay32.dll"/>
由于某些原因我无法解释,我的应用程序仍然找到&#34; libeay32.dll&#34;和&#34; ssleay32.dll&#34;在其他地方,并且因为那些是错误的版本而无法工作。
如果我将这些DLL直接放入应用程序目录中,它可以正常工作,但这不是我想要做的。
编辑:出于某种原因,它适用于其他DLL(例如我也使用的OpenCV)。
如何告诉Qt从我期望的文件夹中获取这些DLL?
答案 0 :(得分:0)
您需要将DLL
子目录添加到Windows使用的dll搜索路径中。您可以使用SetDllDirectory来实现此目的,AddDllDirectory指定Windows搜索dll的自定义目录。
如果您有多个包含DLL的目录,请改用this WikiDot page。