2009-11-06 3 views

Répondre

3

Qt supports reliant les plugins de manière statique à votre application. Voir the documentation.

Vous utilisez la macro Q_IMPORT_PLUGIN() dans votre code comme ceci:

#include <QApplication> 
#include <QtPlugin> 

Q_IMPORT_PLUGIN(qjpeg) 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 
    ... 
    return app.exec(); 
} 

Vous devez également la liste des plugins dans QTPLUGIN dans votre fichier .pro:

QTPLUGIN += qjpeg 

Vous pouvez aussi avoir besoin de construire une version statique de Qt vous-même - pas sûr si les versions pré-construites contiennent des bibliothèques statiques (je n'utilise pas le code prédéfini).

0

Vous voulez une application comme "DLL to Lib" qui va convertir votre fichier DLL à une bibliothèque statique. Ensuite, vous lieriez avec le fichier .lib au lieu de la DLL et vous êtes tous ensemble. Vous pouvez télécharger un essai d'un produit ici:

http://www.binary-soft.com/download.htm

0

Lorsque vous faites cela, assurez-vous de ne pas violer la licence de la bibliothèque. Si la bibliothèque n'est pas disponible en tant que bibliothèque statique, elle peut être sous la licence LGPL (ou même GPL). Un lien statique dans les deux cas violerait la licence, sauf si vous libérez votre logiciel également sous licence GPL.