Salut!
J'utilise Codeblocks pour programmer en C++, et j'ai téléchargé les bibliothèques SFML pour pouvoir faire des applications graphiques.
Visiblement, La configuration s'est mal passée. Je demande assistance, s'il-vous-plaît! =)
Version imprimable
Salut!
J'utilise Codeblocks pour programmer en C++, et j'ai téléchargé les bibliothèques SFML pour pouvoir faire des applications graphiques.
Visiblement, La configuration s'est mal passée. Je demande assistance, s'il-vous-plaît! =)
Bonjour Armulis.
Tu as marqué ton précédent message comme résolu. Ce serait bien d'y expliquer comment tu as résolu le problème pour les futures personnes qui rencontreront le même problème.
En ce qui concerne ta question ici, il nous faut plus de détails pour pouvoir t'aider.
Je connais trop mal le sujet pour donner des informations précises (sauf sur demande peut-être, mais il faudra m'expliquer plein de trucs)
J'ai fait ce qui est expliqué ici: http://www.sfml-dev.org/tutorials/2.0/start-cb-fr.php
J'ai 50 erreurs à la compilation.
Exemple: "multiple definition of sf::Texture::Texture()".
La plupart des autres sont comme ça.
Bonjour,
Vous pouvez utiliser un des template de projet présent ici : http://jeux.developpez.com/telecharg.../709/Templates
Ce sont des template prêt à être utilisé avec des projets pré-configurés.
Pour votre problème, avec aussi peu d'information, nous n'allons pas aller très loin. Je dirai que vous avez inclut deux fois les mêmes .lib/.a ?
OK, merci.
Mais le lien que tu as donné sert à Configurer Codeblocks avec SDL. Moi je parle de SFML (je sais que c'en est une évolution, mais je ne suis pas sûr que la configuration soit la même.
Quant à donner des informations, je ne sais pas quoi donner. De quoi tu as besoin pour cerner le problème?
Les informations à donner :
- le code
- comment est configuré Code::Blocks (capture d'écran des option de l'éditeur de lien et autre, comme on peut en voir dans ce tutoriel : http://alexandre-laurent.developpez....heque/#LII-B-2 )
Le code fait plus de 2000 lignes et on me dit toujours qu'il est pas lisible. Tu vas t'énerver pour rien. Si tu veux je peux le raccourcir un peu (en enlevant plein de trucs), mais j'ai pas vérifié si les 50 erreurs sont encore là. Mais je t'ai déjà montré le type d'erreurs que c'est.
Concernant la configuration, est-ce que tu peux être précis et me dire ce qu'il te faut exactement pour savoir ce qui ne va pas? C'est que les Build Options sont un vrai labyrinthe!
J'ai ouvert un nouveau projet, vierge, et configuré SFML dessus.
Je peux compiler et exécuter en mode Debug.
En mode Release, je peux compiler, mais si j'essaie d'exécuter le programme, une boîte de dialogue s'ouvre. C'est écrit: "It seems that this project has not been built yet. Do you want to build it now?" (Oui / Non / Annuler)
Le code que j'ai essayé est celui qui sert à tester la configuration, sur le site officiel de SFML: http://www.sfml-dev.org/tutorials/2.1/start-cb-fr.php
Méthode trois : faites un zip de votre projet et envoyez le nous :)
On aura ainsi tout le code, même crade, et la configuration complète. Pensez juste à nettoyer le projet avant de faire le zip.
Et les configurations de projet dont j'avais besoin, c'est exactement comme les captures d'écran du tuto (les mêmes fenêtres).
Je t'ai envoyé le main du projet "vierge" pour qu'on puisse déjà régler ça...
libsndfile-1.dll
openal32.dll
sfml-audio-2.dll
sfml-audio-d-2.dll
sfml-grapihcs-2.dll
sfml-graphics-d-2.dll
sfml-network-2.dll
sfml-network-d-2.dll
sfml-system-2.dll
sfml-system-d-2.dll
sfml-window-2.dll
sfml-window-d-2.dll
J'ajoute ça dans bin/debug et dans bin/release à chaque fois que je crée un nouveau projet.
Il ne faut pas ajouter les .dll dans l'éditeur de liens :koi:
Lisez donc le tutoriel que j'ai cité ci-dessus, il vous sera très bénéfique.
J'ai pas parlé d'éditeur de liens (je sais même pas ce que c'est ^^).
En fait, je disais que je copiais ça dans le dossier où était créé l'exécutable. Il y en a deux dans le dossier "bin"; l'un s'appelle "debug", et l'autre "release". Tout ça est dans le répertoire où sont enregistrés les fichiers de mon programme (les .cpp, les .h, le .cbp, les fontes d'écriture, les images...).
Vous voyez de quoi je parle?
Je regarde votre lien, et si je vois quelque chose que j'ai pas fait je vous en touche mot! =)
EDIT:
...ben j'aurai pas fait très long! ^^
À la troisième illustration, vous écrivez "./include"
Moi j'ai rien du taper, mais plutôt "cheminer" jusqu'au dossier SFML2.1 (enregistré dans "C:/Programmes"; on m'a dit de le mettre où je voulais), sélectionner le dossier "include", et valider mon choix. Et j'ai choisi de sauvegarder le chemin absolu plutôt que le chemin relatif, au cas où je déplacerais le dossier contenant mon projet.
Lisez tout le tutoriel, depuis le début : http://alexandre-laurent.developpez....-bibliotheque/ ;)
Vous aurez l'explication de ce qu'est l'éditeur de liens.
Pour les DLL, ceux avec un '-d-' dans le nom, doivent être placé dans le dossier Debug (enfin, en théorie, uniquement dans le dossier du projet) et ceux sans le '-d-' dans le dossier Release (enfin, en théorie, uniquement dans le dossier du projet). On place les .dll dans le dossier du projet, pour que Code::Blocks (ou autre) arrive à lancer le projet compilé.
OK, OK, j'ai un peu regardé. Mais c'est encore bien avancé, je comprends de loin pas tout...
Par-contre, j'ai essayé un truc.
J'ai pris le projet "vierge" qu'on vient de configurer, et j'y ai copié les .cpp et les .h de mon ancien projet (qui ne marchait pas).
En mode debug, tout va bien.
En mode release, les images ne sont pas affichées et le projet crash en arrivant à un stade précis.
Un crash ? Surement une erreur de segmentation, donc, des erreurs de codage. Très probable lorsque j'ai lu ça :
Citation:
Le code fait plus de 2000 lignes et on me dit toujours qu'il est pas lisible.
Ben en fait, je l'ai écrit sans connaître la "philosophie" de la programmation orientée objet, et du coup c'est un peu "étrange" pour quelqu'un qui est habitué à voir des codes tous basés sur le même modèle.
Mais j'essaie de l'améliorer. J'ai déjà retapé mes classes, et certaines viennent de passer de 450 lignes à 150.
Et je rappelle qu'en mode release, je n'arrive toujours pas à afficher les images =D
Et je rappelle, que soit c'est un crash et que c'est du à une erreur de programmation (genre, il ne trouve pas les fichiers images ?). Et que dans le cas d'un crash, on utilise un débogueur, tout simplement ;)
Il n'y a plus de crash: j'ai enlevé la fonction qui se plantait.
Est-ce qu'on peut s'intéresser à la configuration de codeblocks? Et moi pendant les temps-morts, je refais ma fonction et on verra si ça fonctionne mieux...
Je pense que le programme charge les images correctement, parce que quand ça ne marche pas, je trouve un message d'erreur sur la console.
Dans le cas présent, il n'y a aucun message d'erreur. =)
J'ai donné un template de configuration de Code::Blocks, plus un tutoriel (certes généraliste). Qu'est ce qui ne va toujours pas ?
Ah, pardon pour le template. Je ne sais pas ce que ça veut dire, et quand j'avais suivi ton lien je ne m'étais pas aperçu que c'était un truc à télécharger. J'étudie ça.
OK, c'est dézippé. Et c'est tout. Je sais pas quoi faire de ça, en fait... =)