Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Mister Epic le Avril 06, 2012, 08:21:07 pm

Titre: Le programme compile, mais ne s'exécute pas.
Posté par: Mister Epic le Avril 06, 2012, 08:21:07 pm
Bonjour,

J'utilise Code::Blocks, MinGW, SFML 1.6 et Windows 7 x64. Je programme quelque chose sur deux ordinateurs, soient mon ordinateur de bureau et mon ordinateur portable. Le premier a comme carte graphique une Nvidia GeForce GTX 580 et le dernier a une puce graphique ATI Mobility Radeon HD 3670. Je travaille sur mon ordi portable en ce moment.

Je suis entrain de faire une version modifiée de l'exemple Pong pour un cours de programmation orientée objet. Ma première étape est d'adapter tout ce qui se trouve dans le main, mais en orientée objet. En ce moment, j'ai pu compiler mon programme, mais je ne peux même pas le déboguer.

Au moment d'exécuter le programme, la fenêtre apparaît, mais l'application plante tout de suite après. La console me retourne ceci :

Process returned -1073741819 (0xC0000005)      execution time : 2.890 s

J'imagine qu'il y a quelque chose que je n'aurais pas dû faire dans mon code, et il se peut que ce soit une erreur de C++, et non de SFML. En tout cas, si le problème est probablement lié à mon code, je peux le poster ici. J'ai mit les pilotes graphiques à jour et j'ai retesté juste avant de joindre ce forum.

Si vous savez comment s'y prendre, ça serait apprécié. Merci!  :)
Titre: Re : Le programme compile, mais ne s'exécute pas.
Posté par: Laurent le Avril 06, 2012, 08:34:36 pm
SFML 1.6 n'aime pas les cartes ATI/AMD, il faut lier statiquement.
Titre: Re : Re : Le programme compile, mais ne s'exécute pas.
Posté par: Mister Epic le Avril 06, 2012, 08:40:48 pm
SFML 1.6 n'aime pas les cartes ATI/AMD, il faut lier statiquement.

Merci de la réponse rapide.

Je crois avoir déjà lié statiquement. En tout cas, dans les options du compilateur, j'ai lié -lsfml-audio-s-d, -lsfml-graphics-s-d, -lsfml-window-s-d et -lsfml-system-s-d, précisément dans cet ordre. J'ai aussi mit SFML_STATIC dans le #define.
Titre: Re : Le programme compile, mais ne s'exécute pas.
Posté par: Laurent le Avril 06, 2012, 08:56:44 pm
Ok, dans ce cas il faudrait voir ton code.
Titre: Re : Le programme compile, mais ne s'exécute pas.
Posté par: Mister Epic le Avril 06, 2012, 09:15:52 pm
Pendant que je copiais mon code, j'ai fait quelques correction. Mon problème est maintenant différent. Désormais, l'application ne plante plus, mais elle n'affiche que du blanc, et rien d'autre. Cela est probablement lié à mon utilisation des pointeurs. Je vais vérifier cela.

Voici mon code. Étant donné qu'il y en a quand même une bonne quantité, j'ai décidé de le mettre dans plusieurs liens Pastebin.

Pong.cpp (http://pastebin.com/WdHjG5cJ)

Game.h (http://pastebin.com/sHrrtdr6)
Game.cpp (http://pastebin.com/56DqCvMR)

Player.h (http://pastebin.com/muDCqXys)
Human.h (http://pastebin.com/2EtNQTVJ)
Computer.h (http://pastebin.com/ebHk3ZZc)
Player.cpp (http://pastebin.com/SF7j2mpp)

Paddle.h (http://pastebin.com/3cPvtdwp)
HumanPaddle.h (http://pastebin.com/23zJDs0D)
ComputerPaddle.h (http://pastebin.com/HNKBg274)
Paddle.cpp (http://pastebin.com/kmFzKAjJ)

Ball.h (http://pastebin.com/cB6XPezT)
Ball.cpp (http://pastebin.com/13YTnm2v)
Titre: Re : Le programme compile, mais ne s'exécute pas.
Posté par: Laurent le Avril 06, 2012, 09:28:47 pm
Peu de gens auront le courage d'éplucher tout ton code.

Utilise au moins le debugger pour savoir quelle ligne plante, fais un minimum de travail préliminaire parce que là personne ne t'aidera.
Titre: Re : Le programme compile, mais ne s'exécute pas.
Posté par: Mister Epic le Avril 06, 2012, 09:29:48 pm
C'est exactement ce que j'avais prévu faire, ayant vu que c'est effectivement beaucoup.

Au moment où j'arrive avec un message précis à une ligne en particulier, je le posterai. En passant, merci!
Titre: Re : Le programme compile, mais ne s'exécute pas.
Posté par: Mister Epic le Avril 06, 2012, 09:59:02 pm
Malgré que mon programme s'exécute, je ne suis pas encore capable de le déboguer.

J'obtiens l'erreur suivante.

Error in re-setting breakpoint 2: Function "[...]/Pong.cpp:5" not defined.


J'ai mit un point d'arrêt à la ligne 5 dans Pong.cpp. Le débogueur ne s'arrête même pas là, et je ne vois encore que la fenêtre blanche.

C'est la première fois que je programme avec l'IDE Code::Blocks. J'utilise normalement Visual Studio 2010.

Si ce double post dérange quoi que ce soit, je suis désolé.

EDIT: Finalement, j'ai trouvé les problèmes par moi-même, je les ai réglés, et j'ai un Pong fonctionnel orienté-objet. Merci!