我正在将程序移植到Mac。该程序使用动态库,我已使用xcode编译成dylib。该库再次使用第二个库libusb。我也把它编译成了一个dylib。
两个dylib位于同一文件夹中,即安装文件夹。但是这不起作用。它只有在我将第二个libusb dylib移动到/ usr / local / lib文件夹中时才有效。如何使第一个库能够在第二个库位于同一文件夹时与第二个库链接?
我猜我需要编辑第一个库的运行路径,但我不知道写什么来使路径相对而不是绝对。
答案 0 :(得分:1)
我相信您正在寻找install_name_tool
(应该在/usr/bin/install_name_tool
中),这有助于在macOS二进制文件中重新建立dylib引用路径,这正是您所描述的问题。您可以将其作为构建阶段脚本运行,以强制dylib的正确rpath给您带来麻烦。