Por conveniência, adicionei as páginas de manual relevantes abaixo.
Meu (mal) entendimento primeiro: se eu precisar separar opções ,
, isso significa que a segunda -Wl
não é outra opção, porque ela vem antes, o ,
que significa que é um argumento para a -rpath
opção.
Eu não entendo como -rpath
pode ter uma -Wl,.
discussão!
O que faria sentido em minha mente seria o seguinte:
-Wl,-rpath .
Isso deve chamar a opção -rpath linker com o argumento do diretório atual.
man gcc:
-Wl, opção
Passe a opção como uma opção para o vinculador. Se a opção contiver vírgulas, ela será dividida em várias opções. Você pode usar esta sintaxe para passar um argumento para a opção Por exemplo,
-Wl,-Map,output.map
passa-Map output.map
para o vinculador. Ao usar o vinculador GNU, você também pode obter o mesmo efeito com `-Wl, -Map = output.map '.
man ld:
-rpath = dir
Inclua um diretório no caminho de pesquisa da biblioteca de tempo de execução. Isso é usado ao vincular um executável ELF a objetos compartilhados. Todos os argumentos -rpath são concatenados e transmitidos ao vinculador de tempo de execução, que os utiliza para localizar objetos compartilhados no tempo de execução. A opção -rpath também é usada ao localizar objetos compartilhados, necessários aos objetos compartilhados explicitamente incluídos no link;