为方便起见,我在下面添加了相关的man页。
首先是我的(误)理解:如果我需要使用,
分隔选项,那么第二个 -Wl
不是另一个选项,因为它出现在,
之前,这意味着它是-rpath
选项的参数。
我不明白-rpath
如何有一个-Wl,.
的参数!
在我的理解中,这是有道理的:
-Wl,-rpath .
这应该使用-rpath
链接器选项和当前目录参数。
man gcc:
-Wl,option
将选项作为选项传递给链接器。如果选项包含逗号,则在逗号处将其拆分为多个选项。您可以使用此语法将参数传递给选项。例如,
-Wl,-Map,output.map
将-Map output.map
传递给链接器。当使用GNU链接器时,您也可以通过`-Wl,-Map = output.map'获得相同的效果。
man ld:
-rpath = dir
将目录添加到运行时库搜索路径中。在使用共享对象链接ELF可执行文件时使用此选项。所有-rpath参数都被串联并传递给运行时连接器,它们用于在运行时定位共享对象。在链接中显式包含的共享对象需要使用共享对象时,也会使用-rpath选项。