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)
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 #include <QDebug> #include <qtsql/QSqlDatabase> ... QSqlDatabase::addDatabase("QMYSQL"); qDebug() << QSqlDatabase::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ù.
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: ()
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
Partager