web-dev-qa-db-fra.com

Le programme ne peut pas trouver libgcc_s_dw2-1.dll

Duplicata possible:
Le programme ne peut pas démarrer car libgcc_s_dw2-1.dll est manquant

J'utilise Code :: Blocks et le compilateur MinGW 4.4 (je pense) pour créer un projet C++. J'obtiens cette erreur système si je l'exécute depuis son répertoire, mais pas depuis Code :: Blocks.

The program can't start because libgcc_s_dw2-1.dll is missing from your computer.  Try reinstalling the program to fix this problem.

Dans ce message hardmath a dit d'ajouter -static-libgcc aux drapeaux du compilateur, reliant statiquement à la DLL. Lorsque j'ai essayé cela, l'erreur s'est toujours produite. Je pourrais le faire fonctionner en ajoutant le répertoire bin MinGW à la variable Path de mon ordinateur, mais je prévois de distribuer mon programme sur Internet.

Le problème est apparu uniquement après la mise à jour vers le dernier compilateur G ++. Quelle est la raison pour laquelle cette solution fonctionne pour tout le monde à part moi?

29
Greg Treleaven

L'argument de ligne de commande de lien -static-libgcc devrait marcher. Une autre variante que vous pourriez essayer est simple -static.

Si vous ne voulez pas vous inquiéter à ce sujet et que vous souhaitez toujours redistribuer votre binaire, copiez simplement la dll pertinente du répertoire bin de MinGW et placez-la à côté de votre exécutable. Cette pratique est courante et fonctionne comme annoncé.

48
rubenvb