Der Einfachheit halber habe ich die entsprechenden Seiten unten hinzugefügt.
Mein (falsches) Verständnis zuerst: Wenn ich Optionen mit trennen ,
muss, bedeutet dies, dass die zweite -Wl
Option keine andere Option ist, da sie vorher kommt, ,
was bedeutet, dass sie ein Argument für die -rpath
Option ist.
Ich verstehe nicht, wie -rpath
man ein -Wl,.
Argument haben kann!
Was für mich Sinn machen würde, wäre Folgendes:
-Wl,-rpath .
Dies sollte die Linker-Option -rpath mit dem aktuellen Verzeichnisargument aufrufen.
Mann gcc:
-Wl, Option
Option als Option an den Linker übergeben. Wenn die Option Kommas enthält, wird sie an den Kommas in mehrere Optionen aufgeteilt. Mit dieser Syntax können Sie der Option ein Argument übergeben. Zum Beispiel
-Wl,-Map,output.map
geht-Map output.map
an den Linker. Wenn Sie den GNU-Linker verwenden, können Sie den gleichen Effekt auch mit `-Wl, -Map = output.map 'erzielen.
Mann ld:
-rpath = dir
Fügen Sie dem Suchpfad der Laufzeitbibliothek ein Verzeichnis hinzu. Dies wird verwendet, wenn eine ausführbare ELF-Datei mit gemeinsam genutzten Objekten verknüpft wird. Alle -rpath-Argumente werden verkettet und an den Laufzeitlinker übergeben, der sie zur Laufzeit verwendet, um gemeinsam genutzte Objekte zu finden. Die Option -rpath wird auch verwendet, wenn gemeinsam genutzte Objekte gesucht werden, die von gemeinsam genutzten Objekten benötigt werden, die explizit in der Verknüpfung enthalten sind.