我发现了一个非常奇怪的错误。我正在编译一个使用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
答案 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如下:
您需要确保通过上述位置之一可以访问丢失的DLL。
快速测试的最佳方法是将其复制到应用程序(.exe)所在的位置。