Bonjour,

Je viens vers vous suite à un problème lors de l'utilisation du plugin MySQL avec QT 4.8.1 sous Windows Vista 32 bits. Le compilateur installé est visual c++ 2008 express.

J'ai passé sans souci la phase de compilation :
  • qmake avec les parametres des répertoires include et lib
  • nmake debug
  • nmake debug-install
  • nmake release
  • nmake release-install


Ensuite j'ai créé mon projet sous Qt Creator, placé les DLLs appropriées dans les répertoires des builds (qsqlmysqld4.dll pour le debug, qsqlmysql4.dll pour le release), placé libmysql.dll dans les répertoires de chaque exécutable.

Dans mon projet de test (le reste n'a pas d'importance)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
#include <QDebug>
#include <qtsql/QSqlDatabase>
...
QSqlDatabase::addDatabase("QMYSQL");
qDebug() << QSqlDatabase::drivers();
J'ai ajouté la variable d'environnement QT_DEBUG_PLUGINS pour voir ce qu'il se passe, et voici la sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
QFactoryLoader::QFactoryLoader() looking at "C:/QtNegoce-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Release/release/sqldrivers/qsqlmysql4.dll" 
In C:/QtNegoce-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Release/release/sqldrivers/qsqlmysql4.dll:
  Plugin uses incompatible Qt library (4.8.1) [release]
"The plugin 'C:/QtNegoce-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Release/release/sqldrivers/qsqlmysql4.dll' uses incompatible Qt library. (4.8.1) [release]" 
         not a plugin 
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: 
()
Il apparaît donc que la librairie Qt 4.8.1 release n'est pas compatible... avec la 4.8.1 release... J'ai vérifié les répertoires de sortie sous Qt Creator, et tout est correct. J'ai également supprimé les clefs de registre du cache de plugins Qt au cas où.

Quelqu'un aurait-il une idée de ce qui se passe ?
Merci d'avance

Edit : je précise que le message d'erreur ci-dessus se produit lorsque je compile en release.
Edit 2 : J'ai aussi "QT += core gui sql" dans mon fichier .pro