Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Despirithium le Juin 17, 2014, 12:33:31 pm

Titre: Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 12:33:31 pm
Bonjour,
Je me suis référé à ce lien (http://www.sfml-dev.org/tutorials/2.1/start-cb-fr.php) afin de pouvoir installer SFML 2.1. Je suis parvenu facilement a installé les anciennes versions (les versions 1.x) mais depuis la 2.0 j'ai vraiment du mal..

Lors de la compilation, j'ai les erreurs suivantes :
(http://puu.sh/9xlBb/5ae2b77360.png)

Les Search Directories sont réglés. Cependant le Linker Settngs est différent (je ne peux pas mettre sfml-graphic à la main, bien entendu car cela demande des .lib) :

(http://puu.sh/9xlHM/c8ae5e4bb1.png)

J'ai bien mis les fichier dll dans le dossier de mon programme.
Merci d'avance.
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 01:01:30 pm
Citer
cela demande des .lib
Des .lib ? Non, des .a si tu compiles avec GCC.

Et contrairement à ce que tu penses, tu peux faire exactement comme dans le tutoriel, et ça fonctionnera (bizarrement...) ;)
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 01:07:01 pm
L'erreur subsiste :/
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 01:22:54 pm
Poste l'intégralité de ton fichier .cbp, ce sera plus simple à examiner que plein de captures d'écran.
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 01:28:24 pm
Voici le lien de téléchargement : http://anthonyb.fr/scripts/sfml1.rar.
Merci de consacrer votre temps.
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 01:53:03 pm
Je ne veux pas un .rar de 20 Mo, juste le contenu de ton fichier .cbp collé directement sur le forum (c'est rien d'autre qu'un petit XML).
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 01:57:31 pm
(click to show/hide)
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 02:17:03 pm
Plusieurs erreurs :

1. Si tu définis SFML_STATIC alors il faut lier aux bibliothèques ayant le suffixe "-s" : sfml-graphics-s, etc.

2. En debug il faut lier aux bibliothèques ayant le suffixe "-d" : sfml-graphics-s-d, etc.

3. Pas sûr que l'option de linker "-s" existe ; j'imagine que tu t'es emmêlé les pinceaux avec le point 1.

4. Tu définis les bibliothèques SFML à la fois dans chaque configuration (Debug et Release) et de manière globale. Du coup ça fait doublon ; puisque les bibliothèques ne sont pas les mêmes en debug et en release, définis les dans chaque configuration, mais dans la partie globale ne mets rien. (Les options globales, c'est quand tu cliques sur "SFML 1" au dessus de "Debug" et "Release" à gauche sur ta seconde capture d'écran)

Note que je n'ai fait que répéter le tutoriel. Si tu le lis attentivement tu peux éviter ces bêtes erreurs tout seul.
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 03:01:17 pm
Mon fichier ressemble désormais à cela :
(click to show/hide)
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 03:02:22 pm
Il manque les bibliothèques SFML dans la configuration Release, mais sinon c'est bon. Quels sont les messages d'erreur à présent ?
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 03:04:00 pm
Ce sont toujours les mêmes.
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 03:46:18 pm
Ce sont exactement les mêmes ?
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 03:48:03 pm
Oui.
Je viens d'inclure Window. Maintenant les erreurs sont des erreurs de link.
obj\Debug\main.o||In function `main':|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|9|undefined reference to `_imp___ZN2sf11CircleShapeC1Efj'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|10|undefined reference to `_imp___ZN2sf5Color5GreenE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|10|undefined reference to `_imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|18|undefined reference to `_imp___ZN2sf6Window5closeEv'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|15|undefined reference to `_imp___ZN2sf6Window9pollEventERNS_5EventE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|21|undefined reference to `_imp___ZN2sf5ColorC1Ehhhh'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|21|undefined reference to `_imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|22|undefined reference to `_imp___ZN2sf12RenderStates7DefaultE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|22|undefined reference to `_imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|23|undefined reference to `_imp___ZN2sf6Window7displayEv'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|12|undefined reference to `_imp___ZNK2sf6Window6isOpenEv'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|26|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|26|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
obj\Debug\main.o||In function `ZN2sf11CircleShapeD1Ev':|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML-2.1\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML-2.1\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML-2.1\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZN2sf5ShapeD2Ev'|
||=== Build finished: 20 errors, 0 warnings (0 minutes, 0 seconds) ===|
 
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 04:06:02 pm
Quelle est ta version de Code::Blocks, et quelle variante de SFML 2.1 as-tu téléchargé ?
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 04:08:37 pm
Code::blocks 12.11, la dernière version stable de SFML.
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 04:15:10 pm
J'ai bien vu que tu avais la 2.1. Je veux savoir quelle variante (sur la page de téléchargements il y en a plein, en fonction de l'OS et du compilateur).
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 04:23:17 pm
GCC 4.7 TDM (SJLJ) - 64 bits - Windows
Titre: Re : Compilation - Undefined Référence
Posté par: Laurent le Juin 17, 2014, 04:32:51 pm
Pas sûr que tu utilises un compilateur 64 bits. Essaye avec la version 32 bits.
Titre: Re : Compilation - Undefined Référence
Posté par: Despirithium le Juin 17, 2014, 04:40:24 pm
Cela marche, merci :)