我最近在我的64位Windows 7的計算機上安裝MinGW和我嘗試編譯最基本的C++程序,例如libgmp-10.dll缺失
#include<iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
return 0;
}
我得到的錯誤「程序無法啓動,因爲libgmp-10.dll從您的計算機中丟失。「
我最近在我的64位Windows 7的計算機上安裝MinGW和我嘗試編譯最基本的C++程序,例如libgmp-10.dll缺失
#include<iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
return 0;
}
我得到的錯誤「程序無法啓動,因爲libgmp-10.dll從您的計算機中丟失。「
您是否嘗試將c:/ MinGW/bin添加到Windows系統路徑(不是PATH)?
我看到這個頁面上此解決方案:Missing libgmp-10.dll
如果你沒有找到你的安裝目錄中找到此文件,然後親臨現場[點擊here]下載的文件,然後將其解壓到你安裝directory.enjoy :-)
轉到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),但是我仍然有這個問題。 –
我下載後將文件放在哪裏? – 0x499602D2
zip包的根目錄應該放到你的mingw文件系統的根目錄下。 – Jarekczek
添加
c:/MinGW/bin to PATH
並重新啓動CMake的貴
工作對我來說
您可以將此添加爲評論。 –
我來到後,當我開始的代碼塊,然後點擊我的項目這個問題。該項目的筆記出現了,我按確定後,出現錯誤:
「系統錯誤:程序無法啓動,因爲libgmp-10.dll從您的計算機中缺少 請重新安裝應用程序來解決這個問題。 「
我認爲一堆,然後能夠做正常的編譯,鏈接等,但每次我啓動C :: B並出現該項目時,出現錯誤。然後我注意到LLVM Clang編譯器是我在編譯器設置中的默認編譯器,但GCC被設置爲特定於我正在編寫的項目的編譯器。
解決方案是在編譯器設置中將編譯器設置爲GCC(mingw),並將其設置爲默認編譯器。之後,每次啓動項目時都會彈出此係統錯誤。
我發佈這個答案的原因是因爲它回答了OP的問題,並且其他具有相同問題的人可能也有類似的原因,我對此事的個人經驗可能對這些人有用。
當我使用多個編譯器時,這確實是一個問題。我需要在打開項目之前更改默認編譯器並重新啓動代碼塊 –
小心 - 從您的路徑中刪除東西可能會危及您的系統!有趣的是,您不僅需要將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。我從客戶端繼承了這個虛擬機,並且進一步入侵了它,所以我更容易爲我的交叉編譯任務使用乾淨的路徑,並在之後返回...
如果您沒有權限修改您的全局路徑,您還可以更改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:\用戶\詹姆斯\ Desktop \ Programm.cpp「到你的程序所在的任何地方
工作原理:windows在相同的目錄中查找所需的DLL,如果在那裏找不到,它會查找PATH變量(所以它會默認搜索system32),如果將任何缺少的DLL添加到運行它的目錄中,則Windows會查找並使用它們(甚至在它看起來在PATH之前)。
一個非常簡單的修復具有丟失的驅動程序文件的這個問題/ s是對選擇和複製C所有的dll文件:\ MinGW的\ bin並貼他們進入你的C:\ MyPrograms或徘徊無論別人您正在查找創建的C++(.cpp)文件的文件夾。
非常好!有用。非常感謝你。 – neofu50
重新設置路徑後重新啓動'cmake-gui'。沒有重新啓動,它不適用於我。 – Jayesh
工作。謝謝! – jdsantiagojr