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

Auteur Sujet: [Résolu] Undefined reference to constructeur de RenderWindow  (Lu 3644 fois)

0 Membres et 1 Invité sur ce sujet

Spirou003

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
    • E-mail
[Résolu] Undefined reference to constructeur de RenderWindow
« le: Juillet 14, 2013, 05:28:42 pm »
Bonjour,

Je me suis remis à programmer il y a deux semaines (maintenant que c'est les vacances ^^) et j'en suis arrivé au moment où je dois utiliser SFML. Donc voilà, je prépare tout ce qu'il me faut pour compiler le code minimal de SFML (celui donné dans l'accueil de la doc) et j'obtiens une erreur à l'édition des liens (une seule!):

undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKSsjRKNS_15ContextSettingsE'

J'ai donc recompilé sfml par moi-même (001.png, 002.png, log.txt => fichier joint), tout semble s'être bien passé: les exemples compilent et s'exécutent comme il faut. Puis j'ai refait le projet Code::Blocks en suivant les instructions du tutoriel (pour le linker, dans l'ordre: audio - graphics - window - system), j'ai déclaré SFML_DYNAMIC, mais ça ne change rien. En mettant SFML_STATIC (c'est absurde, mais bon), j'ai un message un peu plus explicite:

undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, std::string const&, unsigned int, sf::ContextSettings const&)'

La seule chose qui me paraît possible est que je n'aie pas mis les bonnes options de compilation (003.png), mais je sèche un peu quant à savoir si c'est ça ou autre chose. Et puisqu'une fenêtre est indispensable pour faire un jeu, ça me laisse pas trop le choix que de régler le problème ^^'

Au passage, je me posais une question: à quoi sert libsmfl-main.a?

Merci d'avance!
« Modifié: Juillet 15, 2013, 09:30:57 am par Spirou003 »

Timidouveg

  • Full Member
  • ***
  • Messages: 164
    • Voir le profil
    • Démiurge - Mon jeu-vidéo en développement
Re : Undefined reference to constructeur de RenderWindow
« Réponse #1 le: Juillet 14, 2013, 05:41:33 pm »
Si tu mets la ou les dll de SFML dans le répertoire de ton programme, ça donne quoi ?
C'est simple, c'est rapide, c'est libre et en plus c'est français ? Qu'est-ce que vous attendiez pour m'en parler ?

Spirou003

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
    • E-mail
Re : Undefined reference to constructeur de RenderWindow
« Réponse #2 le: Juillet 14, 2013, 05:51:09 pm »
Ca ne change rien

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Undefined reference to constructeur de RenderWindow
« Réponse #3 le: Juillet 14, 2013, 08:19:34 pm »
Tu traînes de vieux en-têtes pré-SFML 2.0. Ce prototype de constructeur n'existe plus.

Citer
Si tu mets la ou les dll de SFML dans le répertoire de ton programme, ça donne quoi ?
Les erreur d'édition de liens n'ont absolument rien à voir avec les DLLs, ça se passe à un tout autre niveau (les DLLs ne sont requisent que pour éxecuter le programme). Un peu de lecture à ce sujet (les différentes étapes de construction d'un programme) ferait un peu de bien, c'est très important à comprendre ;)
Laurent Gomila - SFML developer

Timidouveg

  • Full Member
  • ***
  • Messages: 164
    • Voir le profil
    • Démiurge - Mon jeu-vidéo en développement
Re : Undefined reference to constructeur de RenderWindow
« Réponse #4 le: Juillet 14, 2013, 08:40:58 pm »
Merci pour l'info, j'avoue avoir beaucoup de lacunes que l'université n'a rien fait pour combler :-[ Je vais voir ce que je peux trouver sur tout ça :)
C'est simple, c'est rapide, c'est libre et en plus c'est français ? Qu'est-ce que vous attendiez pour m'en parler ?

Spirou003

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
    • E-mail
Re : Re : Undefined reference to constructeur de RenderWindow
« Réponse #5 le: Juillet 14, 2013, 08:59:48 pm »
Tu traînes de vieux en-têtes pré-SFML 2.0. Ce prototype de constructeur n'existe plus.

Ah ben oui, effectivement =X ça m'apprendra à faire mes mises à jour entièrement :-D (là j'me sens carrément nul ^^)

Merci beaucoup!

Sinon je me demandais, à quoi sert libsfml-main.a?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Undefined reference to constructeur de RenderWindow
« Réponse #6 le: Juillet 14, 2013, 10:54:31 pm »
Citer
Sinon je me demandais, à quoi sert libsfml-main.a?

Citation de: Le tutoriel
Si vous avez choisi de créer un projet "Windows application", alors le point d'entrée de votre code devrait être la fonction "WinMain" au lieu de "main". Etant donné que c'est spécifique à Windows, et que votre code ne compilerait donc pas sous Linux ou Mac OS X, SFML fournit un moyen de garder un point d'entrée "main" standard dans ce cas : liez votre projet au module sfml-main ("sfml-main-d.lib" en Debug, "sfml-main.lib" en Release), de la même manière que vous avez lié sfml-graphics, sfml-window et sfml-system.
Laurent Gomila - SFML developer

Spirou003

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
    • E-mail
Re : Undefined reference to constructeur de RenderWindow
« Réponse #7 le: Juillet 15, 2013, 09:30:44 am »
Merci! :)