В qt 4.5 возможно ли иметь ресурсы в статически связанном плагине?
Вопрос
У меня есть собственный модуль плагина QT, который имеет встроенные ресурсы. Я хочу статически связать этот плагин с приложением:
LIBS += -lstatic_plugin_with_resources
В приложении я использую макрос Q_IMPORT_PLUGIN ()
, который позволяет приложению использовать плагин; однако плагин не может получить доступ к встроенным ресурсам.
Использование плагина в качестве общей библиотеки работает.
Решение
Это возможно. В приложении вам нужно явно инициализировать ресурсы, содержащиеся в статическом плагине. Р>
Это достигается путем вызова Q_INIT_RESOURCE (resource_base_name)
, где resource_base_name
является базовым именем файла .qrc, который указывает ресурсы , Вероятно, это следует вызывать в main () или при запуске приложения. При желании вы можете вызвать Q_CLEANUP_RESOURCE ()
, если плагин больше не используется. Р>
См. последний раздел документа по ресурсам QT 4.5 . Также см. Документацию по Q_INIT_RESOURCE
. р>
Это сработало для меня на Linux-версии QT 4.5.