Salut,
En un mot : oui...
En un peu plus d'un mot : libgcc_s_dw-x.y.dll est une dll qui fourni certaines fonctionnalités fournies par gcc pour la gestion générale dont tu ne dispose que parce que tu as installé MinGW. libstdc++-6.dll est, quant à elle, la dll qui fournit les fonctionnalités offertes par la bibliothèque standard de C++, spécialement compilée pour pouvoir être utilisée par les programmes compilés avec Gcc (MinGW).
Si ton programme s'exécute sous Code::Blocks mais pas lorsque tu essaye de le lancer en dehors de Code::blocks, c'est parce que Code::Blocks rajoute automatiquement le chemin vers le dossier bin de MinGW aux chemins utilisés pour la recherche des dll (et des autres exécutables) mais que ce dossier n'a pas été rajouté à la variable PATH connue par windows (chose à laquelle on peut remédier assez facilement, ceci dit

)
Une solution serait de veiller à utiliser la version statique de ces bibliothèques (en ajoutant les options -static-libgcc et -static-libstdc++ aux options d'édition de liens), afin de ne plus avoir besoin des dlls, mais dont le prix à payer est un exécutable (parfois beaucoup) plus gros.
Notes que, de manière générale, c'est un problème que tu risques d'avoir avec de nombreuses bibliothèques (en gros : toutes celles qui sont disponibles sous la forme de dll) car les dll ont pour but de fournir le code exécutable de la bibliothèque sans qu'il ne soit nécessaire de placer ce code dans l'application générée. Le but de la manoeuvre étant de te permettre de mettre les bibliothèques à jour sans forcément avoir besoin de recompiler l'application entière.
Partager