2010-06-22 17 views
3

J'ai écrit un wrapper pour SFML qui me permettrait de remplacer le moteur de rendu pour mon jeu si j'en avais besoin. Ça a marché. Ensuite, j'ai refactorisé et tandis qu'il compile encore, je reçois maintenant "incapable d'initialiser l'application 0xc000005" lors de l'exécution de l'exécutable compilé."Impossible d'initialiser l'application 0xc000005"

Qu'est-ce qui causerait une telle erreur? Google n'était pas utile. J'utilise Windows XP.

+0

Je pense que plus de détails seront nécessaires pour fournir beaucoup plus que l'évidence "Quelque chose s'est mal passé dans le refactoring." –

+0

A défaut d'afficher tout mon code, que recommanderiez-vous? –

+0

Principalement l'évidence - utilisez votre système de contrôle de version pour regarder ce que vous avez changé en refactoring. Soit annulez les modifications de manière sélective jusqu'à ce qu'elles fonctionnent de nouveau, soit les annulez toutes, puis retournez sélectivement jusqu'à ce qu'elles se cassent de nouveau, pour isoler le problème. Une fois que vous avez isolé le problème, le correctif peut être évident, ou vous pouvez afficher le code approprié en demandant comment ce changement peut casser des choses. –

Répondre

2

0xc000005 est ERROR_ACCESS_VIOLATION - vous avez un pointeur sauvage quelque part.

1

Je parfois eu cette erreur quand j'ai la configuration suivante:

application liée à X.lib, ce qui provoque une charge dynamique de X.dll X.dll liée contre Y.lib, ce qui provoque une dynamique charge de Y.dll

Exécutez l'application lorsque X.dll est dans le chemin, mais pas Y.dll.

0

Je crois que vous n'avez pas initialisé glew et l'avez utilisé quelque part dans votre code. Essayez de mettre glewInit(); quelque part au début de votre code.