IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

undefined reference et sfml-audio 2.0


Sujet :

SFML

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Points : 176
    Points
    176
    Par défaut undefined reference et sfml-audio 2.0
    Bonjour à tous,
    je n'ai pas envie de me prendre encore la tête pendant longtemps avant de trouver une erreur de link classique mais pour laquelle on ne trouve jamais la provenance ^^.

    J'utilise code blocks avec linux et voici le code qui provoque les erreurs de link :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sf::SoundBuffer s;
        s.loadFromSamples((sf::Int16*)&(m_baseData[0]),m_baseData.size(),1,44100);
        sf::Sound sound;
        sound.setBuffer(s);
        sound.play();
        sf::sleep(sf::seconds(1));
    Voici les erreurs provoquées (erreurs de link classiques) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    .../TestVBO.cpp:156: undefined reference to `sf::SoundBuffer::loadFromSamples(short const*, unsigned int, unsigned int, unsigned int)'
    .../TestVBO.cpp:158: undefined reference to `sf::Sound::setBuffer(sf::SoundBuffer const&)'
    .../TestVBO.cpp:159: undefined reference to `sf::Sound::play()'
    .../TestVBO.cpp:160: undefined reference to `sf::seconds(float)'
    .../TestVBO.cpp:160: undefined reference to `sf::sleep(sf::Time)'
    Je viens de télécharger la SFML 2.0 qu'il me semble avoir correctement liée à codeblocks (indications du chemin pour les dossiers lib et include correct)

    Comme on peut le voir d'ailleurs il n'y a pas qu'au niveau du module audio qu'il y a des erreurs de linkage, mais voici mes options de link (spécifiques à la sfml) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    -lsfml-audio
    -lsfml-graphics
    -lsfml-window
    -lsfml-system
    -lsfml-network
    J'ajoute également que pour ce programme j'utilise opengl ainsi que la SDL 2.0 (pour les tests je sais qu'on peut également utiliser la SFML avec opengl mais la ce n'était pas le but ^^).

    Enfin, je ne sais pas si le problème pourrait provenir de cela mais avant j'utilisais la SFML 1.6 installée automatiquement avec apt-get.

    Voila en espérant vous avoir donné assez d'informations pour que vous puissiez me venir en aide !


    Edit : je viens de tester quelque chose qui ne marche toujours pas : j'ai réinstallé le dossier SFML2-0 depuis http://www.sfml-dev.org/download/sfml/2.0/ et j'ai indiqué les fichiers de lib directement, mais j'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    could not read symbols : file in wrong format

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pour la dernière erreur, cela arrive si on donne des bibliothèques compilées avec le compilateur de Microsoft et que l'on essaie de charger avec MinGW (GCC).
    Cela arrive aussi lorsque vous prenez des bibliothèques compilées en 64 bits et que vous essayez de les utiliser dans un programme 32 bits.

    Sinon, avez vous bien vérifié que vous avez fait la spécification des bibliothèques, aussi bien pour la cible Debug, que Release ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Points : 176
    Points
    176
    Par défaut
    Merci pour ta réponse

    En effet cela venait bien du fait que j'ai téléchargé la bibliothèque en 64 bits au lieu de 32. Pour ce qui était des options indiquées à code blocks il n'y avait pas de problèmes.

    Je pense que je peux passer le sujet en résolu même si j'ai encore des erreurs avec glew 1.7

    Edit : en fait je viens de recompiler la SFML et lorsque j'essaie de la lier je n'ai plus de problèmes sauf qu'au moment de l'exécution il me dit qu'il ne trouve pas les bibliothèques partagées libsfml-....so.2, normal après tout car j'ai renommé en libsfml-....so toutes les libsfml-....so.2.0 en supprimant toutes les autres dans le dossier lib. Pourtant il continue à chercher celles que j'ai supprimées alors que je ne les ai indiquées nulle part dans le paramétrage de code blocks.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    N'y a t-il pas une histoire de lien symbolique cassé ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Points : 176
    Points
    176
    Par défaut
    Hum en fait il suffisait d'ajouter le chemin du dossier lib dans etc/ld quelque chose . conf.so.g

    Maintenant ça marche merci beaucoup

    Sujet résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SFML] Encapsulation - Undefined reference
    Par epimalfrax dans le forum SFML
    Réponses: 2
    Dernier message: 12/06/2013, 22h33
  2. winsock.h : undefined reference...
    Par abraxas dans le forum Dev-C++
    Réponses: 14
    Dernier message: 06/08/2012, 13h42
  3. Compilation de xmms : undefined reference to...
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 04/02/2005, 19h05
  4. undefined reference to `xmlParseFile'
    Par Clemaster dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 25/06/2004, 20h38
  5. g++ : undefined reference to ...
    Par le_barbu dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 14/05/2004, 07h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo