libgmp-10.dll 丢失

Posted

技术标签:

【中文标题】libgmp-10.dll 丢失【英文标题】:libgmp-10.dll is missing 【发布时间】:2011-10-20 14:01:32 【问题描述】:

我最近在我的 64 位 Windows 7 计算机上安装了 MinGW,当我尝试编译最基本的 c++ 程序时,例如

#include<iostream>

using namespace std;

int main()

    cout << "Hello World" << endl;
    return 0;

我收到“程序无法启动,因为您的计算机缺少 libgmp-10.dll”的错误消息。

【问题讨论】:

【参考方案1】:

您是否尝试在Settings-&gt;System Properties-&gt;Environment Variables 中添加C:\MinGW\bin 作为系统变量Path(不是PATH)?

我在这个页面上看到了这个解决方案:Missing libgmp-10.dll

【讨论】:

设置路径后重启cmake-gui很重要。如果不重新启动,它对我不起作用。 使用 cmake-gui,除了重启,您可能还需要清空 Build 文件夹的内容才能进行修复。 删除 CMake 缓存(文件菜单/删除缓存)似乎也可以解决问题,而不必删除整个二进制目录。【参考方案2】:

如果你在你的安装目录下没有找到这个文件,然后去网站【点击here】下载文件,然后解压到你的安装目录。享受吧:-)

【讨论】:

【参考方案3】:

转到mingw download page 并浏览以下目录:

MinGW / Base / gmp / gmp-5.0.1-1

目前您最终获得以下链接:http://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/gmp-5.0.1-1/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma/download 它包含所需的文件。

我知道有安装 mingw gcc 的自动化方法,但是当使用单个 mingw 包时,gmp 是强制性下载之一。

【讨论】:

我刚刚建立了一个全新的 MinGW 安装并且已经安装了 gmp (gmp-dev, gmp-doc, gmp-lic, libgmp),但我仍然有这个问题。 文件下载后放在哪里? zip 包的根目录应该放在你的 mingw 文件系统的根目录下。【参考方案4】:

添加

c:/MinGW/bin 到路径

并重新启动 CMake-gui

为我工作

【讨论】:

您可以将此添加为评论。【参考方案5】:

我在启动 CodeBlocks 然后单击我的项目时遇到了这个问题。项目笔记出现后我按OK后出现错误:

“系统错误:程序无法启动,因为您的计算机中缺少 libgmp-10.dll。 请重新安装应用程序以解决此问题。”

我按了好几次,然后能够进行正常的编译、链接等,但是每次我启动 C::B 并进入项目时都会出现该错误。然后我注意到 LLVM Clang 编译器是我在编译器设置中的默认编译器,尽管 GCC 被设置为特定于我正在处理的项目的编译器。

解决方案是在编译器设置中将编译器设置为 GCC (mingw),并将其设置为默认编译器。之后,每次我启动项目时都会停止弹出此系统错误。

我发布此答案的原因是因为它回答了 OP 的问题,而其他有相同问题的人可能对这种恼怒有类似的原因,而我在这件事上的个人经验可能对这些人有用。

【讨论】:

当我使用几个编译器时确实是一个问题。在打开项目之前,我需要更改默认编译器并重新启动代码块【参考方案6】:

注意 - 从路径中删除内容可能会危及您的系统!

有趣的是,您不仅需要将 MinGW bin 添加到您的路径中,还需要确保某些东西不在您的路径上*。在我的情况下,我将整个路径变量保存为备份,从我的路径中删除了除 MinGW 和 CMake 之外的所有非系统内容,然后离开:

C:\MinGW\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files (x86)\CMake\bin

您应该使用您的系统路径中的适当元素。

我首先尝试使用启动 CMake 的批处理作业来执行此操作,但似乎 CMake GUI 正在返回并获取系统“路径”变量,而不是我打印的命令提示符“路径”变量在启动 CMake 之前已确认如上所列。

顺便说一句,我在启动之前备份了整个 Windows VM!

* 例如:各种引用,包括known issues,都提到了sh.exe。我从我的客户那里继承了这个虚拟机并进一步破解了它,所以我更容易为我的交叉编译任务使用干净的路径并在之后返回......

【讨论】:

【参考方案7】:

如果您没有修改全局路径的权限,您也可以更改您的 cmd shell 的活动目录。

怎么做(在 cmd shell 中):

C:\> cd C:\MINGW\bin
C:\MINGW\bin> gpp.exe C:\Users\James\Desktop\Program.cpp

它是如何不起作用的:

C:\>C:\MINGW\bin\gpp.exe C:\Users\James\Desktop\Program.cpp

注意:您必须将“C:\Users\James\Desktop\Programm.cpp”更改为程序所在的位置

它是如何工作的:windows 在同一目录中查找所需的 DLL,如果在同一目录中找不到它,它将在 PATH 变量中查找(因此默认情况下它将搜索 system32),如果您添加任何缺少的 DLL到您运行它的目录,Windows 会查找并使用它们(甚至在它查找 PATH 之前)。

【讨论】:

【参考方案8】:

解决缺少驱动程序文件问题的一个非常简单的方法是选择并复制 C:\MinGW\Bin 中的所有 dll 文件并粘贴它们进入您的 C:\MyPrograms 或您创建的 c++ (.cpp) 文件所在的文件夹。

【讨论】:

【参考方案9】:

在刚刚使用 mingw-get-setup.exe v0.6.2beta-20131004-1 安装程序安装的 MinGW 中。即使在安装过程中我选择了 gcc 包,安装程序也没有包含“mingw32-gmp”包,其中包括 libgmp-10.dll。我不得不重新运行安装程序,选择“重新安装”选项,然后手动选择“mingw32-gmp dev”包。

【讨论】:

如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review @BDL 我不认为这是一个新问题。这似乎是对 mdrissel 如何为他或她自己解决问题的描述。【参考方案10】:

只需在 google 上搜索 dll 文件并下载即可。然后粘贴到该路径下的文件夹中

C:\MinGW\libexec\gcc\mingw32\9.2.0

【讨论】:

以上是关于libgmp-10.dll 丢失的主要内容,如果未能解决你的问题,请参考以下文章

Valgrind:可能丢失可以被视为绝对丢失吗?

数据丢失是啥意思?

iOS数据解析精度丢失

Kafka丢失数据问题优化总结

Kafka数据丢失分析

BigDecimal精度丢失问题