0

我在 OSX Yosemite 10.10.3 中的 Xcode 6.3.1 中使用 Objective-C 语言创建了一个带有库“libmysqlclient.a”和“libmysqlclient.18.dylib”的 MAC 应用程序。通过 Xcode 运行时它工作正常。而且我还存档了 .app 文件以在我的 MAC 中安装该应用程序,它也可以正常工作。但是当我尝试在另一台 Mac 上安装它时,应用程序崩溃并显示消息

“dyld:库未加载:libmysqlclient.18.dylib 引用自:/Users/developer/Documents/UntitledFolder/UserName/SampleApp.app/Contents/MacOS/SampleApp 原因:找不到图像”。

从这条消息中,我了解到特定的 MAC 没有“libmysqlclient.18.dylib”。所以,这里我的问题是“每个 MAC 都必须有库来安装和运行应用程序吗?”。任何人都可以通过创建 .app 文件并将其安装在其他 MAC 系统中的详细格式给我解决方案。

提前致谢。

4

1 回答 1

0

您的应用程序中包含了静态 (.a) 和动态 (.dylib) 库。做同样的事情。静态库编译到您的程序中,使其更大。动态库随您的应用程序一起提供。或者已经安装在您的目标系统上。如果您将它与您的应用程序一起提供,它应该在您的应用程序的 Frameworks 文件夹中。(您在 Build Phases、Copy File 中创建此文件夹)。使用 install_name_tool -id 将库安装名称设置为 @executable_path\..\Frameworks 并在 Build Settings 中将 Runpath Search Paths 设置为相同。

于 2015-10-19T16:40:09.700 回答