Macos 无法在Mac OS X plugin-@rpath中加载Qt jpeg插件

Macos 无法在Mac OS X plugin-@rpath中加载Qt jpeg插件,macos,qt,dyld,Macos,Qt,Dyld,我的MacOSX插件包括一些使用Qt的框架。这些框架使用Qt的jpeg插件dylib创建一个显示jpeg的UI 我使用install_name_工具在我的插件中设置@rpath,以便它可以位于任何位置。宿主应用程序可以很好地查找和加载我的框架,但是Qt jpeg插件dylib在运行时不会加载 Qt jpeg插件的id为: @rpath/qt/plugins/imageformats/libqjpeg.dylib 其依赖的Qt共享库列表为: @rpath/QtGui.framework/Vers

我的MacOSX插件包括一些使用Qt的框架。这些框架使用Qt的jpeg插件dylib创建一个显示jpeg的UI

我使用install_name_工具在我的插件中设置@rpath,以便它可以位于任何位置。宿主应用程序可以很好地查找和加载我的框架,但是Qt jpeg插件dylib在运行时不会加载

Qt jpeg插件的id为:

@rpath/qt/plugins/imageformats/libqjpeg.dylib
其依赖的Qt共享库列表为:

@rpath/QtGui.framework/Versions/4/QtGui
@rpath/QtCore.framework/Versions/4/QtCore
当我将QT_DEBUG_PLUGINS设置为1时,Console的输出为:

QFactoryLoader::QFactoryLoader() looking at "/Users/Robin/MyPlugin.plugin/Contents/Frameworks/qt/plugins/imageformats/libqjpeg.dylib" 
"Cannot load library /Users/Robin/MyPlugin.plugin/Contents/Frameworks/qt/plugins/imageformats/libqjpeg.dylib: " 
not a plugin`
如果我用硬编码的位置替换依赖库列表中的@rpath,一切正常,但我的插件无法在任何地方找到

这个问题似乎出现在雪豹身上,而不是狮子身上。我使用的是Qt4.6.3


关于如何成功加载libqjpeg的任何建议/建议,敬请谅解。谢谢。

我通过使用install\u name\u工具向QtCore添加一个rpath路径名来修复此问题:

install_name_tool -add_rpath @loader_path/../../.. QtCore.framework/Versions/4/QtCore