Xcode 安装\u名称\u工具是否未进行任何更改?
我的应用程序需要加载硬件制造商提供的动态库。在动态库上使用otool可产生以下输出:Xcode 安装\u名称\u工具是否未进行任何更改?,xcode,macos,cocoa,sdk,install-name-tool,Xcode,Macos,Cocoa,Sdk,Install Name Tool,我的应用程序需要加载硬件制造商提供的动态库。在动态库上使用otool可产生以下输出: $otool -L harwdware.2.dylib hardware.2.dylib: @executable_path/../Addittional/hardware.2.dylib (compatibility version 3.0.0, current version 3.0.0) /usr/lib/libSystem.B.dylib (compatibility version
$otool -L harwdware.2.dylib
hardware.2.dylib:
@executable_path/../Addittional/hardware.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
我想把@executable\u path/./附加的/改为@executable\u path/./Frameworks/.,实际上更短,所以应该适合。
但当我跑步时:
install_name_tool -change @executable_path/../Addittional/hardware.2.dylib @executable_path/../Frameworks/hardware.2.dylib hardware.2.dylib
然后什么都没有发生,什么都没有改变,耳石的输出和以前一样
我哪里出错了?多亏了@特洛伊木马,正确的命令行是:
install_name_tool -id "@executable_path/../Frameworks/hardware.2.dylib" hardware.2.dylib
-change
用于更改对从属库的引用<代码>-id可能就是你想要的。嘿@trojanfoe真管用!谢谢你的帮助。