ldconfig
kann alle Bibliotheken auflisten, auf die es Zugriff hat. Diese Bibliotheken werden auch in seinem Cache gespeichert.
/sbin/ldconfig -v -N
durchsucht alle üblichen Bibliothekspfade und listet alle verfügbaren Bibliotheken auf, ohne den Cache neu zu erstellen (was nicht möglich ist, wenn Sie kein Root-Benutzer sind). Bibliotheken in LD_LIBRARY_PATH werden NICHT berücksichtigt (im Gegensatz zu dem, was dieser Beitrag vor der Bearbeitung gesagt hat), aber Sie können zusätzliche Bibliotheken an die Befehlszeile übergeben, indem Sie die folgende Zeile verwenden:
/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)
Sie können mit gcc ein einfaches Testprogramm kompilieren und Ihre Bibliothek einbinden. Dann können Sie die verwendeten Bibliotheken mit ldd überprüfen. Ich benutze so etwas:
echo "int main(){}" | gcc -x c++ -Wl,--no-as-needed -lmylib - && ldd a.out | grep mylib
-Wl,--no-as-needed
verhindert, dass der Linker die Bibliothek verwirft, da keine Symbole aus der Bibliothek verwendet werden.
Ersetzen Sie global (Leerzeichen) für :
mit LD_LIBRARY_PATH
/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)