Domanda

Ho un modulo plug-in QT personalizzato che ha risorse incorporate. Voglio collegare staticamente questo plugin con un'applicazione:

LIBS += -lstatic_plugin_with_resources

Nell'applicazione sto usando la macro Q_IMPORT_PLUGIN () , che consente all'applicazione di usare il plugin; tuttavia il plugin non può accedere alle sue risorse incorporate.

L'uso del plugin come libreria condivisa funziona.

È stato utile?

Soluzione

È possibile. Nell'applicazione è necessario inizializzare esplicitamente le risorse contenute nel plug-in statico.

Ciò si ottiene chiamando il Q_INIT_RESOURCE(resource_base_name) , dove resource_base_name è il nome di base del file .qrc che specifica le risorse . Questo dovrebbe probabilmente essere chiamato in main () o all'avvio dell'applicazione. Se lo si desidera, è possibile chiamare Q_CLEANUP_RESOURCE() se il plug-in non viene più utilizzato.

Vedi l'ultima sezione del QT 4.5 documento delle risorse . Vedi anche la documentazione per Q_INIT_RESOURCE .

Questo ha funzionato per me sulla versione Linux di QT 4.5.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top