Salut tout le monde, j'essaie d'apprendre à compiler une librairie et la linker dans un programme, j'ai choisi la SDL pour ça. Je compile avec gcc sous Ubuntu.
Voici ce que j'ai fait : j'ai téléchargé l'archive de la SDL2 et compilé le code avec make, puis j'ai déplacé les fichiers vers mon projet : les headers dans include, les objets .o, les librairies statiques .a, la librairie partagée "libSDL2-2.0.so.0.18.2" (et un tas d'autres fichiers se trouvant dans "build") dans un dossier lib.
J'ai ensuite compilé mon programme avec
gcc -o programme -I../include main.c ../lib/libSDL2-2.0.so.0.18.2
Mais en lançant le programme, ce message s'affiche
error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory
J'ai beau essayé 100 façons de compiler le programme, en ajoutant le chemin de lib avec -L, les librairies statiques avec -l... rien ne marche.
Note importante : les dépendances de la librairie partagée .so sont introuvables, ça affiche libSDL2-2.0.so.0 => not found quand je fais ldd programme. Apparemment il cherche les dépendances dans /lib/x86_64-linux-gnu.
Comment résoudre ce problème de dépendances ? À quel niveau il faut agir : compilation du programme ? compilation de la SDL ?...
Partager