我正在用Mingw构建一个使用Qt Creator 5.2.1(32位)的程序。该程序的一个依赖是libcurl库。
QT正在正确构建文件,但是,在运行时,它会抛出错误139。
在二进制文件上运行依赖walker之后,我注意到libcurl dll依赖于另一个名为“libeay32.dll”的dll。
我做了以下事情:
逻辑上,我后来假设,如果我将路径放到我的PATH变量中的任何其他路径之前的libeay32,它会拉出正确版本的lib(re:回答问题here) 。然而,这不起作用,抛出相同的错误139(显然没有找到库)
我知道我可以通过简单地将文件复制到我的工作目录来运行和测试我的程序,但是,出于信息目的,我很想知道;
有没有办法这样做而不必复制这个DLL?
我的本能就是修复Path指向这首先会有所帮助,因为这可以确保在其他dirs中可能出现的任何其他事件之前拉动DLL。
注意:在引用PATH变量时,我的意思是SYSTEM路径和检查PATH Qt使用(Qt在路径中添加几个dirs)
提前感谢您的帮助。
答案 0 :(得分:1)
要么链接静态,要么必须确保您的库位于以下位置之一(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx#standard_search_order_for_desktop_applications):