Per comodità ho aggiunto le relative manpage di seguito.
La mia (mis) comprensione prima: se ho bisogno di separare le opzioni con ,
, ciò significa che la seconda -Wl
non è un'altra opzione perché viene prima, il ,
che significa che è un argomento per l' -rpath
opzione.
Non capisco come si -rpath
possa avere una -Wl,.
discussione!
Ciò che avrebbe senso nella mia mente sarebbe questo:
-Wl,-rpath .
Questo dovrebbe invocare l'opzione -rpath linker con l'argomento directory corrente.
man gcc:
-Wl, opzione
Passa opzione come opzione al linker. Se l'opzione contiene virgole, viene suddivisa in più opzioni tra virgole. È possibile utilizzare questa sintassi per passare un argomento all'opzione. Ad esempio,
-Wl,-Map,output.map
passa-Map output.map
al linker. Quando si utilizza il linker GNU, è anche possibile ottenere lo stesso effetto con `-Wl, -Map = output.map '.
man ld:
-rpath = dir
Aggiungi una directory al percorso di ricerca della libreria di runtime. Viene utilizzato quando si collega un eseguibile ELF con oggetti condivisi. Tutti gli argomenti -rpath vengono concatenati e passati al linker di runtime, che li utilizza per individuare gli oggetti condivisi in fase di runtime. L'opzione -rpath viene utilizzata anche per individuare oggetti condivisi necessari per gli oggetti condivisi esplicitamente inclusi nel collegamento;