J'ai libcommon.so dans/usr/local/lib et je lie cette bibliothèque dans mon programme./usr/bin/ld: impossible de trouver la bibliothèque partagée
test de gcc test_prog.c -L/usr/local/lib -llibcommon.so
et j'ai essayé trop
gcc -o test_prog.c test -L/usr/local/lib -llibcommon
Il est donner
/usr/bin/ld: ne peut pas trouver -llibcommon.so
collect2: ld retourné 1 état de sortie
Il est là:
$ locate libcommon.so
/usr/local/lib/libcommon.so
/usr/local/lib/libcommon.so.0
/usr/local/lib/libcommon.so.0.1.0
$
je reçois ce après avoir changé selon vous/usr//libcommon.so.0 local/lib: ne pouvait pas lire les symboles: Opération non valide collect2: ld retourné 1 état de sortie – user2732944
Maintenant, vous avez un problème différent. L'éditeur de liens trouve la bibliothèque, mais ne peut pas donner un sens à ce qu'il contient. Je suggère de commencer par exécuter 'fichier /usr/lib/libcommon.so/lib/libc.so' et de voir s'il y a une différence évidente entre les types de fichiers. Vous devrez peut-être suivre des liens symboliques (vous devrez peut-être spécifier un nom différent dans la ligne de commande 'file'.) S'il y a une grande différence, vous avez peut-être installé le ou les mauvais fichiers - ou l'administrateur système peut avoir fait cela . –