首页 文章

让XCode将@executable_path设置为自动查找dylib的位置

提问于
浏览
1

我使用XCode 5.1.1构建我的OSX应用程序并链接到.dylib . 我已经设置了Build Phases - > Copy Files来复制Frameworks目标中的.dylib .

当我从XCode启动它工作正常,但是当我双击从Finder启动.app包时,它抱怨它无法找到dylib,XCode已尽职尽责地放置在Contents / Frameworks下,可以在finder中轻松验证 .

我的可执行文件中的otool -L显示它正在寻找

@loader_path/libXYZ.dylib (compatibility version 1.0.0, current version 1.0.0)

我可以通过在我的可执行文件上使用install_name_tool轻松解决这个问题,如下所示:

install_name_tool -change @loader_path/libXYZ.dylib @executable_path/../Frameworks/libXYZ.dylib  my_exec

但是这种改变在每次重建时都会丢失 . 我怎么能告诉XCode首先设置@executable_path ../ Frameworks?

1 回答

  • 1

    只需将Run Script Phase添加到Build Phases即可 .

相关问题