Die Pakete, mit denen ich hier spiele, sind ziemlich unbekannt, aber das Problem ist eher generisch. Im Grunde versuche ich Python-Modul (genannt rql) mit C ++ - Erweiterung zu kompilieren. Die Erweiterung verwendet das externe Framework gecode, das mehrere Bibliotheken enthält. Ich habe gecode kompiliert und lokal installiert. Lassen Sie nun die Ausgabe für sich sprechen:
%Vor% LD_LIBRARY_PATH
ist für Runtime-Linker / Loader (der gleiche Effekt könnte mit ldconfig
erreicht werden). Was Sie brauchen, ist das -L
Flag:
in der Compiler-Befehlszeile.
Und - dank @bjg, um mich daran zu erinnern - kannst du LIBRARY_PATH
benutzen, wenn du dich nicht mit Compiler-Optionen anlegen willst.
Sie haben anscheinend LD_LIBRARY_PATH
so geändert, dass sie auf einen nicht standardmäßigen Speicherort in Ihrem Ausgangsverzeichnis verweist. Weißt du, ob LD_LIBRARY_PATH
in der Umgebung, in der g ++ in setup.py aufgerufen wird, mit deiner Shell-Umgebung übereinstimmt?
Sehen Sie, ob Sie Argumente an setup.py
übergeben können, um den Bibliothekspfad zu ändern oder übergeben Sie einfach -L/home/red/usr/lib
an g ++.
Tags und Links c++ linker shared-libraries ld library-path