Mingw 在编译代码时给我一个 libwinpthread-1.dll was not found 错误

问题描述 投票:0回答:3

我刚刚下载并安装了 Mingw。我还设置了

C:\MinGW\bin
C:\MinGW\msys\1.0\bin
的系统环境变量。我想测试一下我是否安装正确(似乎是因为运行
gcc --version
才起作用),所以我用 c 编写了 hello world 并尝试用
gcc main.c -o hello_world.exe
进行编译。但是我得到了错误:

“代码执行无法继续,因为找不到 libewinpthread-1.dll”。重新安装程序可能会解决此问题。”

我厌倦了重新安装它并重新启动我的计算机。我也尝试看看其他人是否也遇到过这个问题,虽然有几个地方提到了这个问题,但我似乎找不到提到的解决方案。我曾考虑过尝试单独下载 dll,但如果我没记错的话,下载 dll 是一个很大的禁忌。

不久前我安装了 mingw,虽然它是巧克力的,但它似乎工作正常。我已从计算机中删除了该下载并删除了路径,因为我想尝试以正常方式安装它。这可能是错误的一部分吗?

有什么想法可能是什么问题吗?谢谢!

c dll mingw
3个回答
3
投票

您已经构建了一个依赖于 libwinpthread-1.dll 的 .exe 文件。

确保.exe可以运行的解决方案:

  • 将 MinGW
    bin
    路径添加到您的 PATH 中,这样
    libwinpthread-1.dll
    - 这只会针对您自己的系统修复它,因此如果您想在其他系统上使用 .exe 文件,我不建议您这样做。
  • libwinpthread-1.dll
    从 MinGW 复制到与 .exe 文件相同的文件夹中。这通常是 .exe 链接到的任何共享依赖库所必需的。
  • 构建静态 .exe(
    --static
    链接器标志)以避免共享 (.dll) 依赖性。

0
投票

是的!可能是一个错误,因为 MinGW 在涉及 DLL 时有点臭 以下是您必须检查的一些事项: 确保保存 MinGW 位置的变量名为“path” 它指向:

C:\MinGW64\bin


-1
投票

编译代码时,添加以下内容:

--static

作为编译器的参数,它应该可以解决大多数

dll
问题

© www.soinside.com 2019 - 2024. All rights reserved.