Angenommen, ich möchte testen, ob eine Bibliothek installiert und von einem Programm verwendbar ist. Ich kann verwenden ldconfig -p | grep mylib
, um herauszufinden, ob es auf dem System installiert ist. aber was ist, wenn die Bibliothek nur über die Einstellung bekannt ist LD_LIBRARY_PATH
?
In diesem Fall kann das Programm die Bibliothek möglicherweise finden, wird dies jedoch ldconfig
nicht tun. Wie kann ich überprüfen, ob sich die Bibliothek im kombinierten Linkerpfad befindet?
Ich möchte hinzufügen, dass ich nach einer Lösung suche, die auch dann funktioniert, wenn ich das Programm nicht zur Hand habe (z. B. das Programm ist noch nicht kompiliert). Ich möchte nur wissen, dass eine bestimmte Bibliothek in ld
'vorhanden ist. s Pfade.
ldd
dient genau diesem Zweck.
LIBRARY_PATH
Umgebungsvariable verwenden, die z gcc
. B. vom Compiler nachgeschlagen wird . Die LIBRARY_PATH
Umgebungsvariable verfügt auch über eine durch Doppelpunkte getrennte Liste von Verzeichnissen.
ldd <binary>
damit überprüfen, ob sich alle verknüpften Bibliotheken im Pfad befinden. Vielleicht gibt es einen eleganteren Weg.