Ich bin eine C++ - ausführbare Datei unter Linux erstellen. Die ausführbare Datei ist in einige Boost-Bibliotheken eingebunden.Fehler beim Laden von gemeinsam genutzten Bibliotheken: libboost_system.so.1.45.0: kann keine gemeinsame Objektdatei öffnen: Keine solche Datei oder Verzeichnis
Dies ist der Ausgang, wenn ich versuche, die binäre auszuführen:
[email protected]:~/work/dev/c++/projects/testfgci/dist/Debug/GNU-Linux-x86$ ./testfgci
./testfgci: error while loading shared libraries: libboost_system.so.1.45.0: cannot open shared object file: No such file or directory
ich dann ldd auf dem binären laufen Abhängigkeiten zu überprüfen:
[email protected]:~/work/dev/c++/projects/testfgci/dist/Debug/GNU-Linux-x86$ ldd testfgci
linux-gate.so.1 => (0x00380000)
libboost_system.so.1.45.0 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00b50000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x005f6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0099a000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x001b3000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00110000)
/lib/ld-linux.so.2 (0x00ea2000)
Ich bin nicht sicher, warum die liboos_system.sl .1.45.0 SO wird nicht gefunden. Ich habe es heute etwas früher erfolgreich gebaut. Kann mir jemand erklären?
Es ist möglich, dass beim Bau, Sie Fahnen an den Compiler für zusätzliche Linker Bibliotheken sind vorbei, aber wenn Sie möchten, das Programm auszuführen, der Boost-Bibliotheken don‘ t existieren in den Linker-Pfaden. Mögliches Duplikat von [Linkproblem in Bibliotheken] (http://stackoverflow.com/questions/4568187/linking-problem-in-libraries) – birryree
Ich fand die Antwort. Ich musste den Pfad zu meinem LD_LIBRARY_PATH hinzufügen und ihn dann exportieren. Die Binärdatei wird ausgeführt, meldet jedoch Fehler (Error System: 9: Bad file descriptor).Ich werde entweder diese Frage ändern müssen, um das zu reflektieren, oder eine neue Frage stellen – skyeagle