我使用 XCode 5.1.1 构建我的 OSX 应用程序并链接到 .dylib。我已经设置了 Build Phases -> Copy Files 以将 .dylib 复制到 Frameworks 目标中。
当我从 XCode 启动时它工作正常,但是当我从 Finder 双击启动 .app 包时,它抱怨它找不到 XCode 尽职尽责地放置在 Contents/Frameworks 下的 dylib,这可以在 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?