Tôi thấy rằng cờ -L phải được cung cấp khi sử dụng -rpath. Ví dụ:Tại sao -L cần thiết khi -rath được sử dụng?
gcc -o test test.o -L. -lmylib -Wl,-rpath=.
Tại sao cờ -L cần thiết? Thông tin nào khác hơn thông tin từ các tệp h cần thiết tại biên dịch thời gian?
Nếu tôi xóa -L. Tôi nhận được thông báo sau:
gcc -o test test.o -lmylib -Wl,-rpath=.
/usr/bin/ld: cannot find -lmyLib
Bạn hoàn toàn có thể xóa cả hai cờ. Như thế này:
gcc -o test test.o -lmylib
Miễn là bạn có thể tìm thấy libmyLib trong/usr/lib, tức là. Tại sao không phải là -L bây giờ?
Đây là câu hỏi tiếp theo cho https://stackoverflow.com/a/8482308/1091780.
Trình liên kết không có ý tưởng về những "tệp h" ngớ ngẩn này. –