Ich weiß, diese Frage ist nicht sehr neu, aber es scheint, als ob ich mein Problem nicht selbst lösen könnte.
ldd
erzeuge die folgende Ausgabe
[email protected]:~$ ldd /home/u123/Programme/TestPr/Debug/TestPr
linux-vdso.so.1 => (0x00007ffcb6d99000)
libcsfml-window.so.2.2 => not found
libcsfml-graphics.so.2.2 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcebb2ed000)
/lib64/ld-linux-x86-64.so.2 (0x0000560c48984000)
Das ist die richtige Art, ld
zu sagen der richtige Pfad?
Akzeptierte Antwort:
Wenn sich Ihre Bibliotheken nicht im Standardpfad befinden, müssen Sie sie entweder zum Pfad hinzufügen oder einen nicht standardmäßigen Pfad zu LD_LIBRARY_PATH
hinzufügenexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Your_non-Standard_path>
Sobald Sie eines der oben genannten Dinge getan haben, müssen Sie die Laufzeitbindung des dynamischen Linkers aktualisieren, indem Sie den folgenden Befehl ausführen:
sudo ldconfig
AKTUALISIERUNG:
Sie können die Änderungen dauerhaft machen, indem Sie entweder den obigen export
schreiben Zeile in eine Ihrer Startdateien (z. B. ~/.bashrc) ODER Wenn die zugrunde liegende Bibliothek nicht mit einer anderen Bibliothek in Konflikt steht, dann in einen der Standardbibliothekspfade einfügen (z. B. /lib,/usr/lib)