捆绑和dylib查找

时间:2010-03-05 19:37:21

标签: macos bundle dylib

我的.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,而不必将它们复制到捆绑包中?

1 个答案:

答案 0 :(得分:2)

要实现这一点,我必须将安装名称更改为@ executable_path / libName.dylib