Dylib错误'库未加载'分发应用程序

时间:2011-08-17 10:27:29

标签: opencv vtk objective-c++ dyld

我正在使用Objective-C ++开发一个使用OpenCV和VTK动态库的应用程序,但我在分发时遇到问题,如果我在不同的系统中启动我的应用程序,我遇到了这个问题:

Dyld错误消息:

  Library not loaded: @executable_path/../Frameworks/libvtkCommon.5.6.1.dylib
  Referenced from: /myApp.app/Contents/MacOS/myApp
  Reason: no suitable image found.  Did find:
    /myApp.app/Contents/MacOS/../Frameworks/libvtkCommon.5.6.1.dylib: open() failed with errno=13
    /myApp.app/Contents/MacOS/../Frameworks/libvtkCommon.5.6.1.dylib: open() failed with errno=13

我用install_name_tool重建了我的dylib指向:@executable_path/../Frameworks并且在myApp目标的“构建阶段”我为我的dylib添加了目标“Frameworks”的“复制文件”阶段。问题在哪里?

1 个答案:

答案 0 :(得分:0)

检查您的应用程序包并确保复制到Frameworks中的文件是实际的dylib而不是符号链接文件。另外,你是否在dylib文件和可执行文件上运行install_name_tool?在共享库下查看at this page以获取示例。

另见this question