Pb compilation: /usr/bin/ld: cannot find -l..
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
seulement voilà: lorsque j'utilise gcc voilà ce que cela me sort:
Mon-PC:~/.../lib_tableau_noir_sdl$ gcc -lTableauNoir essai.c -o essai /usr/bin/ld: cannot find -lTableauNoir collect2: ld a retourné 1 code d'état d'exécution
J'aimerais comprendre ce qui se passe, et si possible avoir une solution :S
merci d'avance
3 réponses
Le souci principal est l'erreur du linker qui ne trouve pas la bibliothèque libTableauNoir lors de la compilation avec -lTableauNoir sous Linux et induit un code d'état 1. Plusieurs solutions proposées incluent la mise à jour du cache des bibliothèques via ldconfig, l'indication du chemin avec -L et le placement correct des fichiers .so. D'autres approches consistent à localiser la bibliothèque avec find ou locate et à vérifier les dépendances avec ldd pour adapter LD_LIBRARY_PATH. Enfin, la distinction entre bibliothèques dynamiques et statiques est rappelée, précisant que -static implique intégration dans l'exécutable et que la recherche peut nécessiter l'ajout du chemin d'installation.
-
Bonjour a tous,
j'ai exactement le meme probleme, la meme erreur sauf qu'apres avoir suivis vos conseils ca ne fonctionne toujours pas.
Ma ligne de compil :
g++ -o test.exe main.o -L. -lfunc.so
(ma lib s'appelle libfunc.so)
J'ai teste le sudo ldconfig, ca n'a rien donne :(
En tous cas, merci d'avance !