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

Auteur Sujet: [Résolue] [SFML 2] cannot find -lsfml  (Lu 7298 fois)

0 Membres et 9 Invités sur ce sujet

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
[Résolue] [SFML 2] cannot find -lsfml
« le: Avril 17, 2013, 01:26:16 am »
Bonsoir,
Avant hier j'avais commencer une application avec SFML et ça marchais très bien. Mais aujourd'hui SFML ne marche plus, j'ai une erreur :
cannot find -lsfml-graphics-s-d
cannot find -lsfml-window-s-d
cannot find -lsfml-system-s-d
J'ai essayer de désinstaller puis reinstaller Code Blocks, de faire un nouveau projet Empty, Console et SFML mais rien ne marche. J'ai bien suivis le tutoriel. Et j'ai bien mis en #defines : SFML_STATIC. J'ai essayer en DYNAMIC tout en enlevent les -s en debug et release mais sa ne marche pas. Et j'ai bien mis les bons répertoire de SFML 2.0 dans search directories.
Si vous avez besoin du code je peux vous le donnez mais je sais pas si c'est vraiment utile avec ce problème.
Merci d'avance,
Cordialement,
Styvak
« Modifié: Avril 18, 2013, 01:44:00 pm par Styvak »

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [SFML 2] cannot find -lsfml
« Réponse #1 le: Avril 17, 2013, 10:51:43 pm »
J'ai essayer de recompiler sfml avec CMake mais j’obtiens des erreurs :
The C compiler identification is unknown
The CXX compiler identification is unknown
Check for working C compiler: c:/MinGW/bin/gcc.exe
Check for working C compiler: c:/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "c:/MinGW/bin/gcc.exe" is not able to compile a simple test
  program.

  It fails with the following output:

   Change Dir: C:/SFML-master2/makefile/CMakeFiles/CMakeTmp

 

  Run Build Command:C:/PROGRA~2/CODEBL~1/MinGW/bin/mingw32-make.exe
  "cmTryCompileExec929106392/fast"

  C:/PROGRA~2/CODEBL~1/MinGW/bin/mingw32-make.exe -f
  CMakeFiles\cmTryCompileExec929106392.dir\build.make
  CMakeFiles/cmTryCompileExec929106392.dir/build

  mingw32-make.exe[1]: Entering directory
  'C:/SFML-master2/makefile/CMakeFiles/CMakeTmp'

  "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_progress_report
  C:\SFML-master2\makefile\CMakeFiles\CMakeTmp\CMakeFiles 1

  Building C object
  CMakeFiles/cmTryCompileExec929106392.dir/testCCompiler.c.obj

  c:\MinGW\bin\gcc.exe -o
  CMakeFiles\cmTryCompileExec929106392.dir\testCCompiler.c.obj -c
  C:\SFML-master2\makefile\CMakeFiles\CMakeTmp\testCCompiler.c

  gcc.exe: error: CreateProcess: No such file or directory

  CMakeFiles\cmTryCompileExec929106392.dir\build.make:59: recipe for target
  'CMakeFiles/cmTryCompileExec929106392.dir/testCCompiler.c.obj' failed

  mingw32-make.exe[1]: ***
  [CMakeFiles/cmTryCompileExec929106392.dir/testCCompiler.c.obj] Error 1

  mingw32-make.exe[1]: Leaving directory
  'C:/SFML-master2/makefile/CMakeFiles/CMakeTmp'

  makefile:116: recipe for target 'cmTryCompileExec929106392/fast' failed

  mingw32-make.exe: *** [cmTryCompileExec929106392/fast] Error 2

 

 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:17 (project)


Configuring incomplete, errors occurred!
Si vous avez une idée d'où ces erreurs peuvent venir je suis preneur.
Merci d'avance,
Cordialement,
Styvak

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2] cannot find -lsfml
« Réponse #2 le: Avril 17, 2013, 11:26:08 pm »
Ton compilo est bien c:/MinGW/bin/gcc.exe ? Il fonctionne bien ? Si le chemin est bidon, c'est sûrement que tu n'as pas mis le vrai chemin dans la variable d'environnement PATH avant d'invoquer CMake, comme indiqué dans le tuto.
Laurent Gomila - SFML developer

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [SFML 2] cannot find -lsfml
« Réponse #3 le: Avril 18, 2013, 12:33:20 am »
Non, mon compilateur est ici : C:\Program Files (x86)\CodeBlocks\MinGW\bin et c'est pourtant ce qui est indiqué dans ma ariable d'environnement Path :/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2] cannot find -lsfml
« Réponse #4 le: Avril 18, 2013, 07:52:19 am »
Et il y a quelque chose dans c:/MinGW/bin/, ou bien c'est un chemin qui n'existe pas ?
Laurent Gomila - SFML developer

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [SFML 2] cannot find -lsfml
« Réponse #5 le: Avril 18, 2013, 01:32:40 pm »
Oui le fichier existe et il y a MinGW qui est à jour à l'intérieur
EDIT : Je viens de reussir juste en copiant le MinGW de CodeBlock à l'intérieur de celui dans C: ^^ Merci pour ton aide :)
« Modifié: Avril 18, 2013, 01:43:36 pm par Styvak »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #6 le: Avril 18, 2013, 02:02:13 pm »
C'est du bidouillage, tu devrais plutôt gérer tes compilos et ta variable d'environnement PATH proprement.
Laurent Gomila - SFML developer

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #7 le: Avril 18, 2013, 02:25:53 pm »
Ouais mais j'ai pas l'habitude d'utiliser CMake ni ma variable ^^
Par contre maintenant quand je compile j'ai une erreur :
obj\Release\src\Menu.o:Menu.cpp|| undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, std::string const&, unsigned int, sf::ContextSettings const&)'|
Tu sais d'où ça peux venir ?
Car dans la doc pour RenderWindow ce n'est pas le constructeur qu'il y a marquer ici et je fait appel à RenderWindow comme ceci :
RenderWindow app(VideoMode(MENU_WIDTH, MENU_HEIGHT, 32), "Styvak's Corporation", Style::Close | Style::Titlebar)
Merci pour ton aide :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #8 le: Avril 18, 2013, 02:36:10 pm »
Ca c'est le prototype de la fonction telle qu'elle était il y a plusieurs semaines. Si tu utilises les toutes dernières sources de SFML, cela signifie que tu as des vieux en-têtes SFML qui traînent et sont utilisés. Par contre les bibliothèques sont les bonnes, puisque l'éditeur de lien ne trouve pas la fonction.

D'où la réitération de mon conseil : gère ton environnement de développement proprement. Ca a l'air d'être un peu le merdier ;)
Laurent Gomila - SFML developer

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #9 le: Avril 18, 2013, 02:50:28 pm »
Ouais je vais le mieux le gérer xD Mais par contre je vois aucun vieux fichiers de SFML sur tout mon disque dur :/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #10 le: Avril 18, 2013, 03:07:56 pm »
Par fois il faut aussi un petit "rebuild all".
Laurent Gomila - SFML developer

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #11 le: Avril 18, 2013, 03:11:53 pm »
L'erreur à changé avec le rebuild all ^^ :
obj\Release\src\Menu.o:Menu.cpp|| undefined reference to `__imp__ZN2sf12RenderWindowC1ENS_9VideoModeERKSsjRKNS_15ContextSettingsE'|
J'aime pas ces erreurs je comprend jamais les undefined reference :/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #12 le: Avril 18, 2013, 03:42:04 pm »
Citer
je comprend jamais les undefined reference
Le compilateur fait une liste des toutes les fonctions appelées dans ton code. Ensuite, l'éditeur de lien cherche où se trouvent ses fonctions : certaines se trouvent directement dans ton code, d'autres se trouvent dans les bibliothèques que tu as liées à ton projet, et enfin il en reste parfois qui ne sont trouvées nulle part. C'est là que tu as (entre autre) des erreurs de type "undefined reference", ça veut dire "oukcékèlé la fonction".

Donc en gros l'erreur est toujours la même, sauf que le compilo n'a pas pris la peine de traduire le nom de la fonction en quelque chose de lisible par un humain :)
Laurent Gomila - SFML developer

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #13 le: Avril 18, 2013, 03:50:07 pm »
D'accord merci :D

Styvak

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [Résolue] [SFML 2] cannot find -lsfml
« Réponse #14 le: Avril 18, 2013, 04:38:10 pm »
Sais-tu ce qu'il faut inclure ? Car je cherche pourtant j'ai inclus Graphics, System et Window. Et j'ai bien linker sfml-graphics, sfml-window, sfml-system mais ça me fait toujours l'erreur :/ Pourtant c'est une erreur d'include ou de linkage non ?