Em qt 4.5, é possível ter recursos em um plugin estaticamente ligado?
Pergunta
Eu tenho um costume QT módulo plugin que tem incorporado recursos. Eu quero estaticamente vincular este plugin com um aplicativo:
LIBS += -lstatic_plugin_with_resources
Na aplicação que estou usando a macro Q_IMPORT_PLUGIN()
, que permite que o aplicativo para usar o plugin; no entanto, o plugin não pode acessar seus recursos incorporados.
Usando o plugin como uma biblioteca compartilhada funciona.
Solução
É possível. No aplicativo que você precisa para inicializar explicitamente os recursos que estão contidos no plugin estática.
Isso é feito chamando o Q_INIT_RESOURCE(resource_base_name)
, onde resource_base_name
é o nome de base do arquivo .qrc que especifica os recursos. Isso provavelmente deve ser chamado em main () ou na inicialização do aplicativo. Opcionalmente você pode chamar Q_CLEANUP_RESOURCE()
se o plugin não está mais sendo usado.
Veja a última seção do QT 4,5 recurso doc . veja também a documentação para Q_INIT_RESOURCE
.
Isso funcionou para mim na versão Linux do QT 4.5.