2012-02-17 3 views
5

Le programme que j'ai écrit utilise SFML mais échoue lorsqu'il est exécuté car libgcc_s_dw2-1.dll est manquant. J'utilise tdm-gcc et ne trouve pas le fichier n'importe où sur mon ordinateur et ré-installer ne aide pas et un simple programme de bonjour fonctionne très bien, donc je ne sais pas pourquoi il a besoin de cette DLL.Où puis-je obtenir libgcc_s_dw2-1.dll?

Dans quel paquet de mingw peut-il être trouvé? J'ai fait une recherche sur le site mais je ne peux pas le trouver. Toutes mes excuses si j'ai raté un résultat de recherche évident, mais c'est incroyablement frustrant! Merci d'avance, ell.

P.S. Je suis sur Windows 7 64 bits en passant

EDIT: Désolé j'ai oublié de mentionner que j'avais déjà lu la réponse à another question avec le même problème, mais comme je l'ai dit, je ne trouve pas le fichier n'importe où sur mon ordinateur, dans le répertoire bin ou autrement. En outre, en passant -static-libgcc et -static-libstdc++ au compilateur et/ou l'éditeur de liens me donne unrecognized option '-static-libstdc++'. Désolé de ne pas avoir précisé que j'ai déjà lu ceci. Je vous remercie!

Répondre

3

Ce fichier implémente l'exception manipulation à l'aide des informations NAIN (nouveau style, par rapport setjump/longjump ou SJLj, le style ancien.

Vous avez besoin que si votre code dépend des exceptions de toute nature.

Si vous vous sentez chanceux, vous pouvez saisir ma propre compilation de ce fichier à partir here.

+0

Merci! savoir où vous avez obtenu ce '.dll'? – Ell

+0

@Ell - En fait, j'ai compilé toute la MinGW moi-même à partir de sources! Cross-compilé à partir d'une boîte Ubuntu. Tâche délicate, et très instructive. Je pensais à écrire un billet de blog à ce sujet, mais je n'ai jamais eu assez de détermination ... – rodrigo

+0

wow that sonnant! Si vous finissez par écrire un article de blog à ce sujet, informez-moi pour que je puisse le faire! – Ell

4

Je crois que c'est un problème de compilateur tdm/gcc, plutôt qu'une installation de Microsoft Visual Studio. Le libgcc_s_dw2-1.dll doit se trouver dans le répertoire bin du compilateur. Vous pouvez ajouter ce répertoire à votre variable d'environnement PATH pour la liaison à l'exécution, ou vous pouvez éviter le problème en ajoutant "-static-libgcc -static-libstdC++" à vos indicateurs de compilation.

Si vous prévoyez de distribuer l'exécutable, ce dernier a probablement le plus de sens. Si vous prévoyez de l'exécuter sur votre propre machine, la modification de la variable d'environnement PATH est une option attrayante (réduit la taille de l'exécutable).

Mise à jour:

D'après les commentaires de Greg Treleaven (voir commentaires ci-dessous), je suis d'ajouter des liens vers:

[Screenshot of Code::Blocks "Project build options"]

[GNU gcc link options]

Cette dernière discussion comprend -static-libgcc et -static-libstdc++ options de l'éditeur de liens.

+0

Je pense relier à l'autre question est plus approprié qu'un simple copier-coller, en particulier si les modifications sont basées sur des commentaires qui ne sont pas faits sont présents Merci quand même – Ell

Questions connexes