2011-08-05 11 views
45

Recientemente he instalado MinGW en mi ordenador de 64 bits de Windows 7 y cuando intento compilar el más básico de los programas en C++, por ejemplolibgmp-10.dll falta

#include<iostream> 

using namespace std; 

int main() 
{ 
    cout << "Hello World" << endl; 
    return 0; 
} 

me sale el error de que " El programa no puede comenzar porque falta libgmp-10.dll en su computadora ".

Respuesta

72

¿Ha intentado agregar c:/MinGW/bin a la ruta del sistema de Windows (no PATH)?

vi esta solución en esta página: Missing libgmp-10.dll

+1

¡Excelente! Funciona. Muchas gracias. – neofu50

+4

reiniciando 'cmake-gui' después de establecer la ruta es importante. No funcionó para mí sin reiniciar. – Jayesh

+0

Funcionó. ¡Gracias! – jdsantiagojr

2

Si no se encontró este archivo en el directorio de instalación y, a continuación, fui al sitio [Haga clic here] para descargar el archivo y, a continuación, extraer a su instalación directory.enjoy :-)

5

Ir a la mingw download page y navegar por los siguientes directorios:

MinGW/Base/gmp/gmp-5.0.1-1

Actualmente se terminan con el siguiente enlace:
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
y contiene el archivo necesario.

Sé que hay métodos automatizados para instalar mingw gcc, pero cuando uno usa paquetes de mingw individuales, entonces gmp es una de las descargas obligatorias.

+2

Acabo de construir una instalación MinGW nueva y ya tengo 'gmp' (gmp-dev, gmp-doc, gmp-lic, libgmp) instalado, pero todavía tengo este problema. –

+0

¿Dónde pongo el archivo después de descargarlo? – 0x499602D2

+0

La raíz del paquete zip debe ir a la raíz de su sistema de archivos mingw. – Jarekczek

4

añade

c:/MinGW/bin to PATH

y reinicia cmake-gui

trabajó para mí

+1

Puede agregar esto como comentario. –

3

me encontré con esta pregunta cuando empecé CodeBlocks y luego se hace clic en mi proyecto. Después de que aparecieron las notas del proyecto y presioné OK, apareció el error:

"Error del sistema: el programa no puede iniciarse porque falta libgmp-10.dll de su computadora. Instale la aplicación para solucionar este problema. "

Presioné OK un montón de veces y luego pude hacer una compilación normal, un enlace, etc. pero ese error apareció cada vez que comencé C :: B y fui al proyecto. Luego noté que el compilador LLVM Clang era mi compilador predeterminado en la configuración del compilador, aunque GCC se configuró como el compilador específico para el proyecto en el que estaba trabajando.

La solución fue establecer el compilador en la configuración del compilador en GCC (mingw) y también establecerlo como el compilador predeterminado. Después de eso, este error del sistema dejó de aparecer cada vez que comencé el proyecto.

La razón por la que publiqué esta respuesta es porque responde la pregunta del OP y otras personas con la misma pregunta pueden tener un motivo similar para esta irritación, y mi experiencia personal en este asunto puede ser útil para esas personas.

+0

Es realmente un problema cuando uso varios compiladores. Necesito cambiar el compilador predeterminado y reiniciar los bloques de código antes de abrir un proyecto –

1

Precaución: eliminar cosas de su camino puede comprometer su sistema.

Curiosamente, no solo necesita agregar el contenedor MinGW a su ruta de acceso, sino que también debe asegurarse de que ciertas cosas no estén en su ruta *.En mi caso, he salvado toda mi variable de ruta como una copia de seguridad, eliminado todo no es del sistema de mi camino a excepción de MinGW y CMake, dejando:

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

usted debe utilizar los elementos apropiados de su camino sistema.

Primero traté de hacer esto con un trabajo por lotes que lanzó CMake, pero parece que la GUI de CMake estaba buscando la variable System 'Path' en lugar de la variable 'Path' del sistema de comandos, que había impreso y confirmado fue como se mencionó anteriormente antes de ejecutar CMake.

A propósito, hice una copia de seguridad de toda la máquina virtual de Windows antes de comenzar!

* Por ejemplo: varias referencias, incluido known issues, mencionan sh.exe. Heredé esta máquina virtual de mi cliente y la pirateé aún más, así que es más fácil para mí usar una ruta limpia para mi tarea de compilación cruzada y regresar después ...

-1

Si no tiene permiso para modificar su versión global ruta, también puede cambiar el directorio activo de su shell cmd.

Como hacerlo (en la consola CMD):

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

Cómo no funciona:

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

Nota: usted tiene que cambiar "C: \ Users \ James \ Desktop \ Programm.cpp "hasta donde su programa establece

Cómo funciona: Windows busca los archivos DLL necesarios mientras se encuentra en el mismo directorio y si no puede encontrarlo buscará en las variables PATH (por lo que lo hará) buscar system32 por defecto), si agrega los DLL faltantes al directorio desde donde lo ejecuta, Windows los mira y los usa (incluso antes de que aparezcan en la RUTA).

-1

Una muy simple solución a este problema de tener que faltan archivo del controlador/s es seleccionar y copiar todos los archivos DLL de C: \ MinGW \ Bin y pasta ellos en su C: \ MyPrograms o dondequiera que otra cosa su carpeta para crear archivos C++ (.cpp) se encuentra.