Wie ist rpath-link benutzt, in cross-Kompilation?

Ich habe Probleme bestätigt mein Verständnis von, wie rpath-link funktioniert bei cross-Kompilierung mit dem spezifischen tool-Kette, die ich benutze (obwohl ich denke, dass dies eine Allgemeine Frage, das gilt für cross-Compilierung im Allgemeinen).

Wenn ich nehmen Sie einen Blick an, was die flags übergeben werden, der compiler und der linker beim erstellen von Bibliotheken und Anwendungen, sehe ich die folgenden an den linker übergeben:

-Wl,-rpath-link,/home/Dev/env/sys/crosscompiletoolchain/armle-v7/lib/

So ist dies ein Pfad, eingebettet in shared libraries gebaut für das Zielgerät auf meiner Entwicklungs-Maschine. Dies macht Sinn, denn ich würde alles tun, Finale Verknüpfung auf dem Entwicklungscomputer, bevor Gerät. Als ich schließlich die Bereitstellung auf dem Gerät, obwohl (ie. shared libs + - Anwendung), nicht auf die freigegebenen Bibliotheken haben eine nutzlose rpath-link?

Den integrierten Bibliotheken und Anwendungen scheinen zu funktionieren, auf dem Ziel-unabhängig, und wenn, ich würde zu erraten, würde ich sagen, dass es ist, weil die Anwendung hat eine Umgebung nach dem Gerät, Betriebssystem, hat /lib/als eine seiner Standard-Bibliotheks-Suchpfade (rpath-link, nur gibt der erste Satz von dirs gesucht werden). Ist das richtig?

InformationsquelleAutor Prismatic | 2013-06-21
Schreibe einen Kommentar