2009-07-30 5 views
1

J'ai un module de plugin personnalisé QT qui a des ressources intégrées. Je veux lier statiquement ce plugin avec une application:En Qt 4.5, est-il possible d'avoir des ressources dans un plugin lié statiquement?

LIBS += -lstatic_plugin_with_resources 

Dans l'application J'utilise la macro Q_IMPORT_PLUGIN(), qui permet à l'application d'utiliser le plug-in; Cependant, le plugin ne peut pas accéder à ses ressources intégrées. L'utilisation du plugin en tant que bibliothèque partagée fonctionne.

Répondre

3

C'est possible. Dans l'application, vous devez initialiser explicitement les ressources contenues dans le plug-in statique.

Ceci est accompli en appelant le Q_INIT_RESOURCE(resource_base_name), où resource_base_name est le nom de base du fichier .qrc qui spécifie les ressources. Cela devrait probablement être appelé dans main() ou au démarrage de l'application. En option, vous pouvez appeler Q_CLEANUP_RESOURCE() si le plugin n'est plus utilisé.

Voir la dernière section du QT 4.5 resource doc. Voir également la documentation pour Q_INIT_RESOURCE.

Cela a fonctionné pour moi sur la version linux de QT 4.5.

Questions connexes