เพื่อความสะดวกฉันได้เพิ่ม manpages ที่เกี่ยวข้องด้านล่าง
ความเข้าใจผิดของฉันก่อน: หากฉันต้องการแยกตัวเลือกด้วย,
นั่นหมายความว่าตัวเลือกที่สอง-Wl
ไม่ใช่ตัวเลือกอื่นเพราะมันมาก่อน,
ซึ่งหมายความว่ามันเป็นอาร์กิวเมนต์ของ-rpath
ตัวเลือก
ฉันไม่เข้าใจว่า-rpath
จะมี-Wl,.
ข้อโต้แย้งได้อย่างไร!
สิ่งที่จะทำให้รู้สึกในใจของฉันจะเป็นเช่นนี้:
-Wl,-rpath .
สิ่งนี้ควรเรียกใช้ตัวเลือก -rpath linker ด้วยอาร์กิวเมนต์ไดเรกทอรีปัจจุบัน
ผู้ชาย gcc:
-Wl ตัวเลือก
ส่งตัวเลือกเป็นตัวเลือกไปยังลิงเกอร์ หากตัวเลือกมีเครื่องหมายจุลภาคมันจะแบ่งออกเป็นหลายตัวเลือกที่เครื่องหมายจุลภาค คุณสามารถใช้ไวยากรณ์นี้เพื่อส่งผ่านข้อโต้แย้งไปยังตัวเลือก ตัวอย่างเช่น
-Wl,-Map,output.map
ส่งผ่าน-Map output.map
ไปยังลิงเกอร์ เมื่อใช้ตัวเชื่อมโยง GNU คุณสามารถได้รับผลกระทบเดียวกันกับ `-Wl, -Map = output.map '
ผู้ชาย ld:
-rpath = dir
เพิ่มไดเร็กทอรีไปยังพา ธ การค้นหาไลบรารีรันไทม์ สิ่งนี้ใช้เมื่อเชื่อมโยงเอลฟ์ที่ปฏิบัติการได้กับวัตถุที่แชร์ อาร์กิวเมนต์ -rpath ทั้งหมดถูกต่อกันและส่งผ่านไปยังตัวลิงก์รันไทม์ซึ่งใช้เพื่อระบุตำแหน่งอ็อบเจ็กต์ที่แบ่งใช้ขณะรันไทม์ ตัวเลือก -rpath ยังใช้เมื่อค้นหาออบเจ็กต์ที่แชร์ซึ่งต้องการโดยออบเจกต์ร่วมที่รวมอยู่ในลิงก์อย่างชัดเจน