找不到libcurl-x64.dll

时间:2017-11-14 05:32:52

标签: c++ json windows dll g++

我发现了一个非常奇怪的错误。我正在编译一个使用libcurl解析来自url的JSON数据的代码。经过反复试验,我已经编译完成而没有错误。但是,在尝试运行代码时出现 system 错误,说找不到libcurl-x64.dll。 Picture of error here 我不确定这里发现了什么。我的Windows系统找不到libcurl-x64.dll,还是我的gcc编译器?然而,快速系统搜索显示了它的位置。我没有用它做任何事情。我究竟需要对libcurl-x64.dll做什么才能让我的系统找到它?它只适用于我正在做的这个解析程序,每个其他cpp / exe文件和项目工作正常。系统规格:Windows 10,Dev C ++ IDE,mingw g ++编译器。 这是我所谓的遗失文件的位置: FilePath1 FilePath2

2 个答案:

答案 0 :(得分:0)

它与您的编译器无关。在任何支持动态的操作系统上 libaries(Windows上的DLL,Linux上的共享库等),如果程序有 在链接时链接到一些动态库,然后在运行时,操作系统 程序加载器必须能够找到该动态库 默认情况下查找动态库的地方之一,或者在其中一个地方 您在运行时以某种依赖于操作系统的方式指定的地方。

这是动态库的本质。

对于Windows,这意味着要运行已链接的程序 libcurl-x64.dll程序加载器将尝试找到libcurl-x64.dll 使用Search Path Used by Windows to Locate a DLL, 以便将其加载到您的程序的过程中。如果在任何这些地方找不到libcurl-x64.dll 然后程序将无法启动,并显示您观察到的错误。

答案 1 :(得分:0)

桌面Windows应用程序的search order of DLLs如下:

  1. 加载应用程序的目录。
  2. 系统目录。 (例如\ Windows \ System32或\ Windows \ SysWOW64)
  3. Windows目录。 (例如\ Windows)
  4. 当前目录。
  5. PATH环境变量中列出的目录。
  6. 您需要确保通过上述位置之一可以访问丢失的DLL。

    快速测试的最佳方法是将其复制到应用程序(.exe)所在的位置。