Мой плагин для Mac OS X включает некоторые фреймворки, использующие Qt.Эти фреймворки создают пользовательский интерфейс, который отображает jpegs, используя плагин Qt jpeg dylib.
Я использую install_name_tool для установки @rpath
в моем плагине, чтобы он мог быть расположен где угодно.Хост-приложение прекрасно находит и загружает мои фреймворки, но dylib плагина Qt jpeg не будет загружаться во время выполнения.
Идентификатор плагина Qt jpeg:
@rpath/qt/plugins/imageformats/libqjpeg.dylib
Его зависимый общий QtСписок библиотек:
@rpath/QtGui.framework/Versions/4/QtGui
@rpath/QtCore.framework/Versions/4/QtCore
Когда я устанавливаю QT_DEBUG_PLUGINS в 1, вывод из консоли будет:
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
в списке зависимых библиотек с жестко закодированными расположениями, все работает нормально, но мой плагин не может быть нигде расположен.
Эта проблема, похоже, на Snow Leopard, но не на Lion.Я использую Qt 4.6.3.
Любые предложения / советы по поводу успешной загрузки libqjpeg.Благодаря.