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

Auteur Sujet: Problème de namespace  (Lu 2846 fois)

0 Membres et 1 Invité sur ce sujet

MaxWelle

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Problème de namespace
« le: Mars 11, 2014, 08:42:45 pm »
Bonjour.

J'ai récemment installé code::blocks et j'ai testé la SFML avec. J'ai directement copié les fichier des dossiers includes et lib de SFML vers les dossiers correspondant dans MinGW.

En créant un projet vide, les libs semblent être reconnues, puisque par exemple quand je tape "#include<S" il me propose "SFML/grphics" et les autres.

Je rentre le code de base (celui qui affiche le cercle vert) et le compile, mais j'obtient les erreurs suivantes :
||=== Build: Release in test (compiler: GNU GCC Compiler) ===|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\Config.hpp|129|error: unknown type name 'namespace'|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\Config.hpp|130|error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\System\Time.hpp|34|error: unknown type name 'namespace'|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\System\Time.hpp|35|error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\System\Clock.hpp|35|error: unknown type name 'namespace'|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\System\Clock.hpp|36|error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token|
c:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\SFML\System\Err.hpp|32|fatal error: ostream: No such file or directory|
||=== Build failed: 7 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Apparemment il ne reconnait pas le namespace "sf", (j'ai utilisé using namespace sf mais ça n'a pas beaucoup d'importance, avec ou sans ça n'a rien changé), et il y a également d'autres erreurs que je ne comprend pas.

Bref, comment résoudre ce problème ? Merci d'avance :)
« Modifié: Mars 11, 2014, 08:44:16 pm par MaxWelle »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème de namespace
« Réponse #1 le: Mars 11, 2014, 08:47:46 pm »
T'es sûr que tu compiles avec le compilo C++ ? En d'autres termes, ton fichier a bien une extension .cpp et non .c ?
Laurent Gomila - SFML developer

MaxWelle

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Problème de namespace
« Réponse #2 le: Mars 11, 2014, 08:50:14 pm »
Nan en effet il a bien l'extension .c, ce qui m'étonne puisque j'avais choisis .cpp

Je vais donc retenter et je modifierais au besoin.

EDIT :
J'ai récréé un projet avec cette fois un fichier .cpp, j'ai une nouvelle liste d'erreurs ^^
le voici :
||=== Build: Release in test (compiler: GNU GCC Compiler) ===|
obj\Release\main.o:main.cpp:(.text$_ZN2sf11CircleShapeD1Ev[__ZN2sf11CircleShapeD1Ev]+0x1)||undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
obj\Release\main.o:main.cpp:(.text$_ZN2sf11CircleShapeD1Ev[__ZN2sf11CircleShapeD1Ev]+0x11)||undefined reference to `_imp___ZN2sf5ShapeD2Ev'|
obj\Release\main.o:main.cpp:(.text.startup+0xb6)||undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'|
obj\Release\main.o:main.cpp:(.text.startup+0xee)||undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'|
obj\Release\main.o:main.cpp:(.text.startup+0x128)||undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'|
obj\Release\main.o:main.cpp:(.text.startup+0x192)||undefined reference to `_imp___ZN2sf11CircleShapeC1Efj'|
obj\Release\main.o:main.cpp:(.text.startup+0x19a)||undefined reference to `_imp___ZN2sf5Color5GreenE'|
obj\Release\main.o:main.cpp:(.text.startup+0x1b3)||undefined reference to `_imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'|
obj\Release\main.o:main.cpp:(.text.startup+0x1ca)||undefined reference to `_imp___ZNK2sf6Window6isOpenEv'|
obj\Release\main.o:main.cpp:(.text.startup+0x1f3)||undefined reference to `_imp___ZN2sf6Window9pollEventERNS_5EventE'|
obj\Release\main.o:main.cpp:(.text.startup+0x217)||undefined reference to `_imp___ZN2sf6Window5closeEv'|
obj\Release\main.o:main.cpp:(.text.startup+0x247)||undefined reference to `_imp___ZN2sf5ColorC1Ehhhh'|
obj\Release\main.o:main.cpp:(.text.startup+0x25f)||undefined reference to `_imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'|
obj\Release\main.o:main.cpp:(.text.startup+0x265)||undefined reference to `_imp___ZN2sf12RenderStates7DefaultE'|
obj\Release\main.o:main.cpp:(.text.startup+0x27e)||undefined reference to `_imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'|
obj\Release\main.o:main.cpp:(.text.startup+0x28d)||undefined reference to `_imp___ZN2sf6Window7displayEv'|
obj\Release\main.o:main.cpp:(.text.startup+0x2bd)||undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
obj\Release\main.o:main.cpp:(.text.startup+0x3ce)||undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
||=== Build failed: 18 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

Cette fois j'ai pas trop compris mais on dirai qu'il n'arrive pas à trouver des "fichiers étranges" ?

RE EDIT :
J'ai peut être une idée du pourquoi, j'avais initialement télécharger les sources SFML pour l'utiliser avec Qt, et peut être que ces sources ne correspondent pas à celles pour code::blocks, je vais les re télécharger et je rééditerai pour dire ce qu'il en est. Est-il possible que ces erreurs viennent de là ?
« Modifié: Mars 11, 2014, 09:16:07 pm par MaxWelle »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème de namespace
« Réponse #3 le: Mars 11, 2014, 09:22:43 pm »
http://en.sfml-dev.org/forums/index.php?topic=10365.0
Une petite recherche (sur google pour ma part) et on tombe sur un problème extrêmement similaire où le mec n'utilisait pas la version de SFML correspondant à son compilateur.

MaxWelle

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Problème de namespace
« Réponse #4 le: Mars 11, 2014, 09:52:13 pm »
Oui c'est ce qu'il me semblait.
J'ai donc vérifié la version de mon compilateur, qui est TDM GCC 4.7
J'ai regardé dans le dossier bin de MinGW, et les fichiers libgcc_s_sjlj-1.dll et libgcc_s_dw2-1.dl sont tous les deux présents, j'ai donc pris la version GCC 4.7 TDM (SJLJ) 64 bits, donc à priori c'est la bonne cette fois.

Je re teste mais toujours le même problème :/

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème de namespace
« Réponse #5 le: Mars 11, 2014, 10:04:22 pm »
C'est un compilo 32 bit ou 64 bit ?
Car si c'est celui qui vient de codeblocks :
NOTE: The codeblocks-13.12mingw-setup.exe file includes the GCC compiler and GDB debugger from TDM-GCC (version 4.7.1, 32 bit).

MaxWelle

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Problème de namespace
« Réponse #6 le: Mars 11, 2014, 10:26:40 pm »
C'est un compilateur 32 bit, du coup j'ai re changé ^^, mais toujours le même problème hélas :/