libgmp-10.dll丢失

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

#include<iostream> using namespace std; int main() { cout << "Hello World" << endl; return 0; } 

我得到的错误,“该程序无法启动,因为libgmp-10.dll从您的计算机中缺less。

你有没有尝试添加c:/ MinGW / bin到Windows系统path(不是path)?

我在这个页面上看到了这个解决scheme: 缺lesslibgmp-10.dll

转到mingw下载页面并浏览以下目录:

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-dl​​l-10.tar.lzma/download
它包含所需的文件。

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

添加

c:/ MinGW / bin到PATH

并重新启动CMake-gui

为我工作

如果你没有在你的安装目录下find这个文件,然后去网站[点击这里 ]下载文件,然后解压到你的安装目录。

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

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

我认为一堆,然后能够进行正常的编译,链接等,但是每次我启动C :: B并出现在项目中,出现错误。 然后我注意到,LLVM Clang编译器是编译器设置中的默认编译器,但GCC被设置为特定于我正在处理的项目的编译器。

解决方法是将编译器设置中的编译器设置为GCC(mingw),并将其设置为默认编译器。 之后,这个系统错误停止popup每次我开始项目。

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

小心 – 从你的path中删除东西可能会危及你的系统!

有趣的是,你不仅需要添加MinGW bin到你的path中,还需要确保某些事情不在你的path上。 在我的情况下,我保存了我的整个pathvariables作为备份,删除了除了MinGW和CMake之外的所有非系统path,而是保留:

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

您应该使用系统path中的相应元素。

我首先尝试使用启动CMake的批处理作业来完成这项工作,但是似乎CMake GUI已经到达并获取系统pathvariables,而不是命令提示符“path”variables,而我已经打印并确认这个variables是上面列出的CMake之前。

顺便说一句,我开始之前备份了整个Windows虚拟机!

*例如:各种引用,包括已知问题 ,提到sh.exe。 我从我的客户端inheritance了这个虚拟机,并且进一步破解了它,所以对于我的交叉编译任务使用干净的path并且随后返回更容易。

如果您没有修改全局path的权限,则还可以更改cmd shell的活动目录。

如何做到这一点(在CMD壳):

 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,如果在那里找不到它,它会查找PATHvariables(所以它会默认searchsystem32),如果你添加任何缺less的DLL到目录从你运行它的地方,窗口看起来并使用它们(甚至在它看起来在PATH之前)。

有一个非常简单的解决这个缺less驱动程序文件的问题是从C:\ MinGW \ Bin中select并复制所有的dll文件, 并将它们粘贴到您的C:\ MyPrograms或其他文件夹中以创buildc ++(.cpp )文件正在被定位。