Mingw在编译代码时出现了libwinpthread-1.dll未找到的错误。

3
我刚刚下载并安装了Mingw。我还设置了系统环境变量C:\MinGW\binC:\MinGW\msys\1.0\bin。我想测试一下是否已经正确安装(因为运行gcc --version命令似乎是有效的),所以我用C语言编写了一个hellow world程序,并尝试使用gcc main.c -o hello_world.exe进行编译。但是,我遇到了以下错误:

"The code execution cannot proceed because libewinpthread-1.dll" was not found. Reinstalling the program may fix this problem."

我已经尝试重新安装和重启电脑。我还尝试查看其他人是否遇到过这个问题,虽然有几个地方提到了这个问题,但我似乎找不到解决方法。我考虑尝试单独下载dll文件,但如果我记得正确,下载dll文件是不被允许的。

一段时间前,我通过chocolatey安装了mingw,它似乎是有效的。我已经从计算机中删除了该下载并删除了路径,因为我想尝试正常安装。这可能是错误的一部分吗?

你有什么想法是什么问题呢?谢谢!

3个回答

3
您已经构建了一个依赖于libwinpthread-1.dll的.exe文件。
确保.exe可以运行的解决方案:
  • 将MinGW的bin路径添加到您的PATH中,以便找到libwinpthread-1.dll - 这只会为您自己的系统修复问题,因此如果您想在其他系统上使用.exe文件,则不建议这样做。
  • 将libwinpthread-1.dll从MinGW复制到与.exe文件相同的文件夹中。通常需要这样做来处理任何共享依赖库,这些库与您的.exe链接在一起。
  • 构建静态.exe(--static链接器标志),以避免共享(.dll)依赖关系。

1
在我的情况下,解决方案是“构建静态 .exe(--static 链接标志)以避免共享的 (.dll) 依赖项。”-谢谢,+1。 - undefined

0

是的!可能是一个错误,因为当涉及到DLL时,MinGW有点棘手。以下是您需要检查的一些事项: 确保保存MinGW位置的变量名为“path”,并且它指向:C:\MinGW64\bin


谢谢回复!我认为我的路径没问题。它是“C:\MinGW\bin”。你的路径写着MinGW64。据我所知,那是Mingw的另一个版本,对吗?也许我会尝试安装那个版本。 - undefined
是的,如果你想的话,我可以给你发送一个教程。 - undefined
我想我明白了!我会试一下!谢谢! - undefined
没问题 :- ) - undefined
嘿,我安装了它并设置了系统变量,但它仍然无法正常工作。我尝试重新启动电脑,现在似乎可以工作了!感谢你的帮助! - undefined
很酷!请告诉我如果你遇到另一个问题。 - undefined

-1
当你编译代码时,请添加以下内容:
--static

作为编译器的参数,它应该能解决大部分dll问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接