Pour plus de commodité, j'ai ajouté les pages de manuel pertinentes ci-dessous.
Ma (mauvaise) compréhension en premier: si j'ai besoin de séparer les options avec ,
, cela signifie que la seconde -Wl
n'est pas une autre option car elle vient avant, ,
ce qui signifie qu'elle est un argument en faveur de l' -rpath
option.
Je ne comprends pas comment -rpath
peut avoir un -Wl,.
argument!
Ce qui aurait du sens dans mon esprit serait le suivant:
-Wl,-rpath .
Cela devrait invoquer l'option -rpath linker avec l'argument de répertoire courant.
homme gcc:
-Wl, option
Passez l'option comme option à l'éditeur de liens. Si l'option contient des virgules, elle est divisée en plusieurs options au niveau des virgules. Vous pouvez utiliser cette syntaxe pour passer un argument à l'option. Par exemple,
-Wl,-Map,output.map
passe-Map output.map
à l'éditeur de liens. Lorsque vous utilisez l'éditeur de liens GNU, vous pouvez également obtenir le même effet avec `-Wl, -Map = output.map '.
homme ld:
-rpath = dir
Ajoutez un répertoire au chemin de recherche de la bibliothèque d'exécution. Ceci est utilisé lors de la liaison d'un exécutable ELF avec des objets partagés. Tous les arguments -rpath sont concaténés et transmis à l'éditeur de liens d'exécution, qui les utilise pour localiser les objets partagés lors de l'exécution. L'option -rpath est également utilisée lors de la localisation d'objets partagés qui sont nécessaires à des objets partagés explicitement inclus dans le lien;