Erreur a la compilation

Résolu
Bonjour,

lorsque je compile mon programme le compilateur m'affiche:
"indefined to reference : ' sound_init' "
je pense que le probleme est dans mon makefile car j'ai bien installer la bibliotheque et les headers
mais je n'arrive pas a configurer mon makefile pour que ça marche
quelqu'un pourrait m'expliquer comment faire pour que le compilateur reconnaisse la fonction svp

merci d'avance

14 réponses

  1. Quelquesfois, il faut spécifier la bibilothèque utilisée sur la ligne de commande du compilateur

    Peut être l'option -lSDL_sound a ajouter dans ta ligne de commande gcc si tu utilises sdl

    Par ailleurs, attention à la casse (Majuscules/minuscules)
    1. comme j'ai place ma bibliotheque autre part donc j'ai plutot mis dans le makefile
      "-L/chemin" pour la bibliotheque et
      "-I/chemin" pour les headers

      je pense que c'est bien comme ça qu'on fait un makefile
      pourtant j'ai toujours le probleme....
      1. j'ai rajoute " -lfmod " parceque c'est ça que j'utilise

        maintenant je n'ai plus d'erreur a la compilation
        mais je peux pas executer le programme j'ai cette erreur:
        error while loading shared libraries: libfmod.so: cannot open shared object file: No such file or directory
        

        est ce que quelqu'un pourrait me dire d 'ou viens le probleme et comment le resoudre svp ?
        1. oui j'ai deja vu ce site (c'est assez simple cette façon de faire) mais moi je voudrais pas mettre ma librairie avec toutes les autres

          je voudrais la metre a un endroit et configurer le makefile correctement pour qu'il la trouve
          1. Modérateur
            il n'y a rien qui t'empêche ;-)
            as-tu essayé de l'installer et créer un lien symbolique vers ton répertoire avec tes librairies?!
            1. oui je les installer puis placer dans un repertoire que j'ai creer

              ensuite pour faire le lien ds le makefile j'ai fait

              -lfmod -L/chemin 

              c'est bien comme ça qu'on fait un lien ?
              1. Modérateur
                moi j'ai parlé de ça
                ln -s /chemin/original/libfmod.so /tes/librairies/libfmod.so
                1. non j'ai pas essayé methode je vais la testé
                  et une fois que j'ai fait ce lien symbolique je dois faire quoi dans le makefile pour qu'il cherche au bon endroit ?
                  1. je viens d'essayer en faisant un lien symbolique
                    toujours le meme probleme...
                    pas d'erreur a la compilation
                    mais je peux pas executer le programme
                    1. Modérateur
                      compile avec l'option -g et lance le prgramme avec gdb program pour voir les erreurs
                      1. voici l'erreur
                         error while loading shared libraries: libfmod.so: cannot open shared object file: No such file or directory
                        
                        1. finalement j'ai reussi ;)
                          enfaite au lieu de faire -L/chemin -llibrairie dans le makefile
                          j'ai carrement mis le chemin de la librairie et la ça marche parfaitement
                          merci comme meme pour votre aide