dyld:库未加载(图像未找到)但它就在那里

时间:2011-05-21 01:56:50

标签: c++ qt macos deployment

尝试在另一台Mac上启动我的Qt应用程序(使用macdeployqt部署)时出现此错误。

dyld: Library not loaded: kqoauth.framework/Versions/0/kqoauth
Referenced from: /MyProject.app/Contents/MacOS/MyProject
Reason: image not found
Trace/BPT trap

我检查了.app-bundle并将kqoauth.framework复制到几个不同的位置(Frameworks-folder,可执行文件旁边的Resources-folder),但错误仍然存​​在。 这是我的项目树:

enter image description here

我也尝试过otool -L,一切似乎都很好。 (kqoauth.framework的条目看起来和qt-library的条目相同)

2 个答案:

答案 0 :(得分:3)

检查otool -L是否显示了Qt和kqoauth的相对路径,我的猜测是它们可能都是从根/开始的,你没有看到qt加载失败,因为它们'重新安装在你的系统上。

无论如何,我建议按照本教程正确通知所有dylib所在的二进制文件:Qt Deploying on Mac OS X。 这是install_name_tool的人,在该教程中使用。

答案 1 :(得分:1)

我已通过更改以下设置解决了此问题

转到项目设置Your_Target-> General-> Embedded Binaries->点击+按钮并在此处添加您的库