Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [résolu]SFML 2.1 Codeblock erreur à la compilation  (Lu 2440 fois)

0 Membres et 1 Invité sur ce sujet

Otruch

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
[résolu]SFML 2.1 Codeblock erreur à la compilation
« le: Novembre 17, 2013, 06:02:45 pm »
Bonjour,

ayant voulu me remettre à la programmation sur mon nouvel ordinateur, j'ai voulu installer CodeBlock et la librairie SFML 2.1.
J'ai téléchargé la nouvelle version de CodeBlock(codeblocks-12.11mingw-setup.exe), je l'ai installé avec succès.
J'ai suivi le tutoriel sur SFML-2.1 pour créer un projet sur CodeBlock.
Avant de télécharger tout package, j'ai regardé quels était la dll du répertoire MinGW/bin. Et là surprise, je trouve libgcc_s_sjlj-1.dll et libgcc_s_dw2-1.dll. Je dois donc avoir les 2 versions de GCC.
J'ai donc téléchargé GCC 4.7 TDM (SJLJ) - 64 bits de la version 2.1 de SFML. Etant donné que je suis sur un ordinateur 64 bit...Seulement je viens de me rappeler que CodeBlock ne me demandait pas si j'utilisais du 64 bit ou du 32 bit.
J'ai décompressé l'archive.
J'ai créé un projet vide et je suis allé dans project -> build option.
Je suis allé dans search directories, en sélectionnant mon projet(pour affecter à debug et release).
Dans compiler j'ai ajouté le dossier include de SFML 2.1.
Dans Linker j'ai ajouté le dossier lib de SFML 2.1.
Je suis ensuite allé dans Linker Settings, pour debug j'ai ajouté sfml-network-d suivi de sfml-system-d et pour release j'ai ajouté sfml-network suivi de sfml-system.
J'ai ajouté à la racine du projet : sfml-network-2.dll, sfml-network-d-2.dll, sfml-system-2.dll et  sfml-system-d-2.dll.
J'ai ensuite créé un nouveau fichier main.cpp, et j'y ai intégré le code suivant :
#include <SFML/Network.hpp>

int main()
{
    sf::TcpListener listener;
    return 0;
}
 

Et à la compilation, j'ai ces messages d'erreur :
obj\Release\main.o:main.cpp:(.text$_ZN2sf11TcpListenerD1Ev[__ZN2sf11TcpListenerD1Ev]+0x1)||undefined reference to `_imp___ZTVN2sf11TcpListenerE'|
obj\Release\main.o:main.cpp:(.text$_ZN2sf11TcpListenerD1Ev[__ZN2sf11TcpListenerD1Ev]+0xb)||undefined reference to `_imp___ZN2sf6SocketD2Ev'|
obj\Release\main.o:main.cpp:(.text$_ZN2sf11TcpListenerD0Ev[__ZN2sf11TcpListenerD0Ev]+0x7)||undefined reference to `_imp___ZTVN2sf11TcpListenerE'|
obj\Release\main.o:main.cpp:(.text$_ZN2sf11TcpListenerD0Ev[__ZN2sf11TcpListenerD0Ev]+0x12)||undefined reference to `_imp___ZN2sf6SocketD2Ev'|
obj\Release\main.o:main.cpp:(.text.startup+0x12)||undefined reference to `_imp___ZN2sf11TcpListenerC1Ev'|
||=== Build finished: 5 errors, 0 warnings (0 minutes, 0 seconds) ===|

Quelqu'un aurait-il une solution? Il me semble que je n'ai rien oublié, merci d'avance pour votre réponse !
« Modifié: Novembre 17, 2013, 07:57:54 pm par Otruch »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : SFML 2.1 Codeblock erreur à la compilation
« Réponse #1 le: Novembre 17, 2013, 06:59:21 pm »
NOTE: The codeblocks-12.11mingw-setup.exe file includes the GCC compiler and GDB debugger from TDM-GCC (version 4.7.1, 32 bit).
Du coup est-ce que ça veut dire qu'avec ce compilateur tu dois utiliser la version 32 bits de SFML ? Peut-être, j'ai tendance à penser que oui mais je n'y connais pas grand chose.  :-\

Otruch

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : SFML 2.1 Codeblock erreur à la compilation
« Réponse #2 le: Novembre 17, 2013, 07:57:00 pm »
Ah, effectivement je n'ai pas vu que c'était le compilateur 32 bit qui était inclu. J'ai téléchargé la version 32 bit SJLJ de SFML et maintenant ça marche, merci pour ta réponse !