我有一个具有以下依赖项的外部库“libspecial.dylib”。
otool -L libspecial.dylib [11:20:59]
libspecial.dylib:
@rpath/libspecial.dylib (compatibility version 1.0.0, current version 1.0.1)
@rpath/libhelper.dylib (compatibility version 1.0.0, current version 1.0.1)
因为@rpath 会导致问题,所以我有一个脚本将所有@rpath 替换为真实路径。
install_name_tool -change @rpath/libspecial.dylib /tmp/libspecial.dylib libspecial.dylib
install_name_tool -change @rpath/libhelper.dylib /tmp/libhelper.dylib libspecial.dylib
但这只会替换第二个依赖项(实际上还有更多依赖项,所有依赖项都被替换了,但不是第一个指向 lib 本身的依赖项):
otool -L libspecial.dylib
libspecial.dylib:
@rpath/libspecial.dylib (compatibility version 1.0.0, current version 1.0.1)
/tmp/libhelper.dylib (compatibility version 1.0.0, current version 1.0.1)
我不知道为什么我不能改变第一个依赖。有任何想法吗?
在 OSX 10.11.1 上运行