在App Bundle中使用Dylibs

时间:2013-12-20 03:28:29

标签: xcode linker dylib

我正在尝试使用Xcode编译使用多个库的应用程序。为此,我创建了一个脚本,将我的所有.dylibs从计算机上的某个位置复制到我的应用包内的Frameworks文件夹中。 添加必要的linker flagsheader search paths后,我现在必须添加library search paths

由于我已经复制了应用包的Frameworks文件夹中的所有库,因此我推断出我必须将$(FRAMEWORKS_FOLDER_PATH)添加到library search paths设置中。添加此项失败,因为链接器无法找到该目录。

我猜测在Frameworks设置搜索之后才会创建library search paths文件夹。如果是这样,我应该如何使用我在应用程序包中复制的库?

1 个答案:

答案 0 :(得分:2)

.dylib文件放在Frameworks文件夹中,以便应用程序在运行时可以找到它们。dylib文件是动态链接的,因此应用程序会加载它们在运行时。

将Xcode设置为在编译时链接到.dylibs应该只是将.dylib从Finder拖到Xcode项目中。我已经通过一个简单的示例项目展示了这一点,该项目在附带的屏幕截图中使用了libxar.dylib。

Example of a dylib in an Xcode Project