Macos Mac上的动态加载
我是Mac电脑的新手,但我被指派在Mac电脑上修复一个Macos Mac上的动态加载,macos,dylib,Macos,Dylib,我是Mac电脑的新手,但我被指派在Mac电脑上修复一个dylib加载问题,有人能给我一些建议吗 我们的应用程序使用a.dylib,这取决于b.dylib。应用程序使用NSAddImage(文件路径,NSAddImage\u选项\u无)打开a.dylib 但是b.dylib与a.dylib不在同一文件夹中。因此,我想有些选项必须设置为NSAddImage,或者在构建a.dylib时,应该提供一个相对路径,以便在运行时加载a时,它知道在哪里搜索b.dylib您可以提供otool-la.dylib,o
dylib
加载问题,有人能给我一些建议吗
我们的应用程序使用a.dylib
,这取决于b.dylib
。应用程序使用NSAddImage(文件路径,NSAddImage\u选项\u无)
打开a.dylib
但是
b.dylib
与a.dylib
不在同一文件夹中。因此,我想有些选项必须设置为NSAddImage
,或者在构建a.dylib
时,应该提供一个相对路径,以便在运行时加载a时,它知道在哪里搜索b.dylib您可以提供otool-la.dylib
,otool-lbdylib
的输出吗,otool-la.dylib | grep LC_RPATH--context
,以及otool-lb.dylib | grep LC_RPATH--context
,我找到了一个解决方法。使用install_name_tool-change将对fullpath b.dylib的引用更改为@loader_path/path/d.dylib可以解决此问题。