链接到图书馆

时间:2012-07-24 09:51:10

标签: objective-c xcode macos frameworks shared-libraries

我通过ImageMagick安装了MacPorts。因此,所有library个文件都位于/opt/local/lib中,标题位于/opt/local/include/ImageMagick中。它在我的Mac上运行正常。在xCode Build Settings - > Search Paths中,所有内容都设置为OK。

enter image description here

library个文件添加到Linked Frameworks and Libraries

enter image description here

当我构建我的应用程序时,它似乎正在工作。但是,当我尝试在没有安装ImageMagick的其他计算机上运行构建应用程序时,会出现以下错误消息:

enter image description here

如何修复它以使用户能够使用我的应用程序而无需另外安装ImageMagick等?如何链接所需的库文件将附带我的应用程序(在项目包中)?

2 个答案:

答案 0 :(得分:2)

现在您的链接库是从/ opt / local / lib / ---

引用的

解决您的问题:

  1. 确保将应用程序安装到何处将支持库安装到正确的位置
  2. 使用应用程序包进行动态库,并从应用程序包中引用dyld,这将与应用程序包启动路径相关。
  3. 更新:如果您正在寻找第二个选项---使用此选项,您的库将被放置在您的应用程序包中...因此应用程序可以从应用程序包中引用该库。

    1. 预编译的动态库可以随应用程序一起携带 - 在xCode中 - >转到目标的构建阶段 - >构建阶段(复制文件)...这将确保您的动态库被复制到您的应用程序包...
    2. 更新每个动态库中的“安装名称”---您可以使用“otool”命令了解预编译库的当前安装路径,并且可以在终端中使用“install_name_tool”命令预编译库安装路径。

答案 1 :(得分:0)

不支持ImageMagick论坛,没有StackOverflow的支持,所以我猜它不可能......