จาก อะไรคือความสำคัญของชื่อ macOS Mach-O dylib LC_ID_DYLIB หรือ install_name? ฉันเข้าใจว่า LC_ID_DYLIB กำหนดเส้นทางที่จะหา dylib ที่ runtime ซึ่งไม่เหมือนกับเส้นทางสร้างของ dylib ฉัน:
otool -L /usr/local/lib/libTest.dylib
ผลตอบแทน:
cmd LC_LOAD_DYLIB
cmdsize 48
name /usr/lib/libc++.1.dylib (offset 24)
time stamp 2 Wed Dec 31 21:00:02 1969
current version 400.9.4
compatibility version 1.0.0
Load command 10
cmd LC_LOAD_DYLIB
cmdsize 56
name /usr/lib/libSystem.B.dylib (offset 24)
time stamp 2 Wed Dec 31 21:00:02 1969
current version 1252.200.5
compatibility version 1.0.0
Load command 11
ไฟล์ dylib ของฉันอยู่ใน / usr / local / lib แต่ otool -L จะส่งคืนพา ธ LC_LOAD_DYLIB ไปที่ / usr / lib / และการอ้างอิง libc ++ 1.dylib และ libSystem.B.dylib ไลบรารีเหล่านี้เกี่ยวข้องกับไฟล์ libTest.dylib ของฉันอย่างไรและมีการตั้งค่าพา ธ รันไทม์สำหรับ libTest.dylib อย่างถูกต้องหรือไม่