我的.app包看起来像这样:
MyApp.app/
Contents/
MacOS/
MyApp
libA.dylib
libB.dylib
libC.dylib
PlugIns/
PlugIn1.bundle/
...bundle contents
PlugIn2.bundle/
...bundle contents
PlugIn1.bundle和PlugIn2.bundle都与libA.dylib,libB.dylib和libC.dylib相关联。这三个dylib的安装名称为@ loader_path / libName.dylib。但是,bundle无法找到libA.dylib,libB.dylib或libC.dylib。我已经尝试将-bundle_loader标志设置为链接主可执行文件,但这没有帮助。捆绑包是否可以从.app包的MacOS文件夹中查找dylib,而不必将它们复制到捆绑包中?
答案 0 :(得分:2)
要实现这一点,我必须将安装名称更改为@ executable_path / libName.dylib