代码之家  ›  专栏  ›  技术社区  ›  Septih

Xcode、building和dylibs

  •  1
  • Septih  · 技术社区  · 14 年前

    我看了一些相关的问题,似乎找不到自己的解决办法。

    现在我要制作一个发布版本,我想在包中包含.dylib,这样用户就不必忍受安装阶段或任何类似的事情。我为目标创建了一个copy files阶段,这会将.dylib转储到bundle内容中的Frameworks文件夹中。但是,在二进制文件上运行otool表明编译器没有在包中使用.dylib,而是将它链接到usr/local/lib版本(即使我删除了该版本)。

    我的搜索结果表明我需要使用rpath或类似的方法,但我不知道在Xcode中该如何应用它。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Septih    13 年前

    我解决这个问题的方法是在terminal中执行以下操作(我使用Automator实现了自动化):

    install_name_tool -id @executable_path/../Frameworks/libmp3lame.0.0.0.dylib ~/path/to/lib/in/app/libmp3lame.0.0.0.dylib
    
    install_name_tool -change /usr/local/lib/libmp3lame.0.dylib @executable_path/../Frameworks/libmp3lame.0.0.0.dylib ~/path/to/app/Contents/MacOS/AppName
    

        2
  •  0
  •   lericson    14 年前