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

  • Votes
  • Date
  • Date décroissante
  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
    1. voici l'erreur
       error while loading shared libraries: libfmod.so: cannot open shared object file: No such file or directory
      
      1. Modérateur
        compile avec l'option -g et lance le prgramme avec gdb program pour voir les erreurs
        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. 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. Modérateur
              moi j'ai parlé de ça
              ln -s /chemin/original/libfmod.so /tes/librairies/libfmod.so
              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
                  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 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. 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. 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. 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)