Si son de programar en C++ y usar el compilador de GNU g++ en Windows, a lo mejor les haya pasado que después de actualizarlo, sus programas ahora para ejecutarse les pidan una DLL llamada libstdc++-6.dll, cosa que antes no sucedía.
Al arrancar el ejecutable les muestra el siguiente mensaje de error:
"Error al iniciar la aplicación porque no se encontró libstdc++-6.dll. La reinstalación de la aplicación puede solucionar el problema."
El problema está a partir de la versión 4.5 de g++. Antes de esta versión, g++ enlazaba esta librería (libstdc++) estáticamente a los ejecutables compilados, por lo que ese error nunca aparecía. A partir de la versión 4.5, ya no se comporta de esta manera y enlaza la librería de forma dinámica, por lo que es necesaria esa DLL cuando no se está ejecutando el programa con el directorio de g++ como directorio de trabajo.
Para solucionarlo, pueden copiar la mencionada DLL a la carpeta del sistema de Windows, o incluir el directorio de g++ en la variable PATH del sistema.
Si quieren tener el comportamiento anterior de g++, es decir enlazar la librería estáticamente, compilen sus programas con la opción
-static-libstdc++
y ya no dependerán de esa DLL.
Me sirvió tu post, y 2 años después de haber sido escrito! Tuve que bajar todo el MinGW (que ni sé que es en realidad) y buscar la librería en conflicto y copiarla a la carpeta del sistema de Windows. Gracias!
ResponderEliminarCuatro años después es de las pocas respuestas claras que se pueden conseguir respecto al tema. Gracias!
ResponderEliminar