为什么将框架“安装目录”设置为“@executable_path /../ Frameworks”

时间:2014-07-02 06:05:17

标签: objective-c xcode cocoa

在Xcode 5.1.1上创建cocoa框架时,

建议添加

"安装目录" to" @executable_path /../ Frameworks"

出现在Xcode路径:"构建设置 - >部署 - >安装目录"。

我的问题是为什么我们要设置"安装目录" to" @executable_path /../ Frameworks"。

1 个答案:

答案 0 :(得分:2)

Apple告诉它最好here,但关键词是:

  

静态链接器记录每个依赖项的文件名   应用程序链接时的库。这个文件名称为   动态库的安装名称

换句话说,设置安装名称会告诉动态链接器在运行时在哪里找到依赖库。

静态链接器ld,在开发过程中用于链接可执行文件和动态链接器/usr/lib/dyld,这是在运行时用于加载依赖库。)

但是,我更喜欢将安装名称设置为@rpath/nameOfLibrary.dylib,然后将可执行文件的运行路径设置为@executable_path/../Frameworks。这会创建一个Run-Path Dependent Library,在大多数情况下我发现它更方便。