[QT 4] Charger un plugin Qt

K-lo
[QT 4] Charger un plugin Qt

Voilà j'ai a déployer sur une autre machine n'ayant pas QT d'installé.
J'ai donc compiler (normalement :lol:) mon projet avec la séquence
QTPLUGIN += qslqodbc rajoutée dans le fichier .pro de mon projet...

Dans mon dossier sur le poste où doit être déployé mon application j'ai créé un dossier dossier_application/plugins/sqldrivers/ où j'ai mis le fichier qsqlodbc.dll

Et lorsque je lance mon application on m'informe (via un test) que le driver QODBC n'est pas pris en charge (sur le poste de codage pas de pb)...

Comment puis-je donc utiliser le plugin fournit par Qt pour déployer mon application ?

fredericmazue

Salut k-lo :)

Quote:
Comment puis-je donc utiliser le plugin fournit par Qt pour déployer mon application ?

Mon bon k-lo, Windows ne trouve et ne charge une dll que si celle-ci est dans le même répertoire que l'application (et non dans un sous répertoire donc) ou bien dans le PATH. Ou bien dans le répertoire windows, windows\system32 et un ou deux autres comme ça qui font en principe toujours partie du PATH.

K-lo

Quote:
Mon bon k-lo, Windows ne trouve et ne charge une dll que si celle-ci est dans le même répertoire que l'application (et non dans un sous répertoire donc) ou bien dans le PATH. Ou bien dans le répertoire windows, windows\system32 et un ou deux autres comme ça qui font en principe toujours partie du PATH.

Biensur et en même temps pas ici en fait c'est le fichier .pro qui va aider windows à trouver la dll (oui il est bien ce ptit fichier :D)
Il faut compiler donc en indiquent la ligne
QTPLUGIN += qslqodbc
Mais il faut respecter un peu mieu l'arborescence où l'on met la DLL : ce n'étais pas dans le répertoire monApplication/plugins/sqldrivers/
mais monApplication/sqldrivers/
fredericmazue

Oui parce que le runtime de Qt va étendre à l'exécution le PATH sur ce répertoire donné à la compilation. Sinon tu mets ta dll n'importe où dans le PATH et ça marchera aussi.
Cela dit rester en cohérence avec le fichier pro ça n'est pas plus mal :)

K-lo

Effectivement j'ai pas toujours asser de recul pour comprendre comment ça se passe derrière le code (d'ailleurs du coup comment je fais pour coder :shock: ?).
Merci Fred :wink: !