如何在同一目录中链接dylib与另一个dylib?

时间:2018-04-22 19:37:49

标签: xcode macos linker rpath

我正在将程序移植到Mac。该程序使用动态库,我已使用xcode编译成dylib。该库再次使用第二个库libusb。我也把它编译成了一个dylib。

两个dylib位于同一文件夹中,即安装文件夹。但是这不起作用。它只有在我将第二个libusb dylib移动到/ usr / local / lib文件夹中时才有效。如何使第一个库能够在第二个库位于同一文件夹时与第二个库链接?

我猜我需要编辑第一个库的运行路径,但我不知道写什么来使路径相对而不是绝对。

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找install_name_tool(应该在/usr/bin/install_name_tool中),这有助于在macOS二进制文件中重新建立dylib引用路径,这正是您所描述的问题。您可以将其作为构建阶段脚本运行,以强制dylib的正确rpath给您带来麻烦。