Dla wygody dodałem odpowiednie strony poniżej.
Moje (błędne) zrozumienie jako pierwsze: jeśli muszę oddzielić opcje ,, oznacza to, że druga -Wlnie jest inną opcją, ponieważ występuje przed nią, ,co oznacza, że jest argumentem dla -rpathopcji.
Nie rozumiem, jak -rpathmożna się -Wl,.kłócić!
Co miałoby sens w moim umyśle to:
-Wl,-rpath .
Powinno to wywołać opcję -rpath linker z argumentem bieżącego katalogu.
man gcc:
-Wl, opcja
Przekaż opcję jako opcję do linkera. Jeśli opcja zawiera przecinki, jest dzielona na wiele opcji w przecinkach. Możesz użyć tej składni, aby przekazać argument do opcji. Na przykład
-Wl,-Map,output.mapprzechodzi-Map output.mapdo linkera. Korzystając z GNU linkera, możesz również uzyskać ten sam efekt dzięki `-Wl, -Map = output.map '.
człowiek ld:
-rpath = reż
Dodaj katalog do ścieżki wyszukiwania biblioteki środowiska wykonawczego. Służy to do łączenia pliku wykonywalnego ELF z obiektami współdzielonymi. Wszystkie argumenty -rpath są łączone i przekazywane do łącznika środowiska wykonawczego, który używa ich do lokalizowania obiektów współdzielonych w czasie wykonywania. Opcja -rpath jest także używana podczas lokalizowania obiektów współdzielonych, które są wymagane przez obiekty współdzielone jawnie zawarte w łączu;