在App Bundle中使用Dylibs

Cor*_*nik 5 xcode linker dylib

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

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

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

sjs*_*sjs 2

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

将 Xcode 设置为在编译时链接到 .dylibs 应该只需将.dylibFinder 中的 .dylibs 拖到您的 Xcode 项目中即可。我通过一个简单的示例项目展示了这一点,该项目在所附屏幕截图中使用了 libxar.dylib。

Xcode 项目中的 dylib 示例

  • @Cubia 存在于您的应用程序包中的副本就在那里,以便当您将应用程序包分发给其他人时,他们会获得 dylib 的副本,以便他们可以实际运行该应用程序。如果 dylib 的安装路径设置正确,则不需要设置搜索路径。您是自己构建 dylib,还是从其他人/其他地方获得它们? (2认同)