Question

J'ai une application QT qui nécessite le pilote MySql. J'ai à la fois un fichier .pro pour compiler l'application avec QtCreator et un .vcproj pour Visual C ++ 2008 Express. Le code est identique et il se compile sans accroc, mais l'exécutable créé par Visual C ++ Express me donne la sortie suivante et refuse de charger tout pilote / plug-in:

QSqlDatabase: Le pilote QMYSQL n'est pas chargé QSqlDatabase: pilotes disponibles:

J’ai utilisé QCoreApplication pour identifier l’emplacement où se trouvent les plugins et il semble que les deux exécutables aient le même chemin. Ils doivent donc voir les plugins. L'un fait et l'autre pas.

Le code est standard.

    QSqlDatabase db;     db = QSqlDatabase :: addDatabase ("QMYSQL");     db.setHostName ("localhost");     db.setPort (3306);     db.setDatabaseName ("dbase");     db.setUserName (" utilisateur ");     db.setPassword ("pwd");     bool ok = db.open ();

La même chose se produit avec l'exemple SqlBrowser fourni avec QT, donc je ne pense pas que le code soit le problème.

Était-ce utile?

La solution 2

Pour tous ceux qui se sont heurtés à ce problème, je dois dire ceci: il est beaucoup plus facile d'utiliser l'un des packages contenant les fichiers binaires pré-construits pour QT pour Visual C ++ que d'essayer de le construire vous-même. Et le pilote Qt (au moins la version 4.3) est extrêmement difficile à utiliser (sur certaines machines, il fonctionne à merveille, mais sur d’autres, il ne peut pas trouver le pilote, avec le même code et les mêmes binaires). Mieux vaut utiliser une bibliothèque dédiée MySql.

Autres conseils

J'ai déjà rencontré cette erreur et je ne pouvais pas la faire fonctionner avant de réaliser que le plug-in n'était pas construit avec la même configuration que mon application (debug vs release, doh!).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top