二进制文件的otool -L依赖关系:
$ otool -L libeditorlib.dylib
libeditorlib.dylib:
libeditorlib.1.dylib (compatibility version 1.0.0, current version 1.0.0)
@rpath/libtbb.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libnlopt.0.dylib (compatibility version 0.0.0, current version 0.10.0)
/usr/local/opt/openvdb/lib/libopenvdb.8.0.dylib (compatibility version 8.0.0, current version 8.0.1)
/usr/local/opt/ilmbase/lib/libHalf-2_5.25.dylib (compatibility version 25.0.0, current version 25.0.4)
/usr/local/opt/gmp/lib/libgmp.10.dylib (compatibility version 15.0.0, current version 15.1.0)
/usr/local/opt/mpfr/lib/libmpfr.6.dylib (compatibility version 8.0.0, current version 8.0.0)
@rpath/QtQuickControls2.framework/Versions/5/QtQuickControls2 (compatibility version 5.12.0, current version 5.12.4)一些依赖项在/usr/local/opt/中。我想要更改它们,以便在@rpath/中搜索它们。
我必须像这样一个接一个地改变它们:
$ install_name_tool -change /usr/local/opt/openvdb/lib/libopenvdb.8.0.dylib @rpath/libopenvdb.8.0.dylib libeditorlib.dylib有没有一种方便的方法可以将所有/user/local/opt/...更改为@rpath
发布于 2021-05-01 13:31:25
我必须逐个更改每个库的install_name。我希望我能找到一种更简单的方法:
install_name_tool -add_rpath @executable_path/../Frameworks/. libeditorlib.dylib
install_name_tool -change /usr/local/opt/openvdb/lib/libopenvdb.8.0.dylib @rpath/libopenvdb.8.0.dylib libeditorlib.dylib
install_name_tool -change /usr/local/opt/ilmbase/lib/libHalf-2_5.25.dylib @rpath/libHalf-2_5.25.dylib libeditorlib.dylib
install_name_tool -change /usr/local/opt/gmp/lib/libgmp.10.dylib @rpath/libgmp.10.dylib libeditorlib.dylib
install_name_tool -change /usr/local/opt/mpfr/lib/libmpfr.6.dylib @rpath/libmpfr.6.dylib libeditorlib.dylibhttps://stackoverflow.com/questions/67315349
复制相似问题