【问题标题】:libcurl-x64.dll was not found找不到 libcurl-x64.dll
【发布时间】:2018-04-26 23:06:53
【问题描述】:

我收到一个非常奇怪的错误。我正在编译一个使用 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

【问题讨论】:

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


    【解决方案1】:

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

    1. 加载应用程序的目录。
    2. 系统目录。 (例如 \Windows\System32 或 \Windows\SysWOW64)
    3. Windows 目录。 (例如 \Windows)
    4. 当前目录。
    5. PATH 环境变量中列出的目录。

    您需要确保可以通过上述位置之一访问丢失的 DLL。

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

    【讨论】:

      【解决方案2】:

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

      这是动态库的本质。

      在 Windows 的情况下,这意味着要运行您已链接的程序 libcurl-x64.dll 程序加载器将尝试定位 libcurl-x64.dll 使用Search Path Used by Windows to Locate a DLL, 以便将其加载到您的程序进程中。如果在这些地方都找不到libcurl-x64.dll 那么程序将无法启动,并出现您观察到的错误。

      【讨论】:

      • 谢谢。我下载了这些文件,将它们放在项目文件夹中,然后程序运行了。
      猜你喜欢
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      相关资源
      最近更新 更多