Warum wird -L benötigt, wenn -rpath verwendet wird?

Ich finde, dass das -L-Flag angegeben werden muss, wenn -rpath verwendet wird. Zum Beispiel

gcc -o test test.o -L. -lmylib -Wl,-rpath=.

Warum wird das Flag -L benötigt? Welche Informationen mehr als die Informationen aus den h-Dateien werden bei @ benötikompiliere Zeit

Wenn ich -L entferne. Ich erhalte folgende Meldung:

gcc -o test test.o -lmylib -Wl,-rpath=.
/usr/bin/ld: cannot find -lmyLib

Es ist jedoch völlig in Ordnung, beide Flags zu entfernen. So was

gcc -o test test.o -lmylib

Vorausgesetzt, die libmyLib befindet sich in / usr / lib. Warum wird -L jetzt nicht benötigt?

Dies ist eine Folgefrage zuhttps: //stackoverflow.com/a/8482308/109178.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage