2017-05-30 1 views
0

EDIT # 2

Il fonctionne, la première fois que j'ai installé postgres 64 bits, alors que Qt utilise peu MinGW 32.QT: pilote non chargé, mais pilote est présent

EDIT

À la suite du answer lié par zapredelom, j'ai installé postgres 9 et ajouté à PATH les bin et lib répertoires. Pour être sûr, j'ai également redémarré la machine, mais rien n'a changé. QT_DEBUG_PLUGINS=1 ne me donne aucune information de débogage supplémentaire.


Je reçois cette erreur lors de l'exécution:

QSqlDatabase: QPSQL driver not loaded 
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 

Comme l'erreur s'affiche, le pilote postgres est déjà présent. En effet, il y a un qsqlpsql.dll et qsqlpsqld.dll sous C:\Qt\5.8\mingw53_32\plugins\sqldrivers. Je ne l'ai pas construit et je n'ai pas l'installation de Postgres sur cette machine (je teste sur mon Linux OS et sur Windows 8.1 déployer VM), le pilote était déjà présent après l'installation de l'intervalle QT.

Quel est le problème?

+0

https://stackoverflow.com/questions/26507353/qpsql-driver-not-loaded-qt avez-vous tryed cette aproche? – zapredelom

+0

@zapredelom: Maintenant, oui, et ça ne fonctionne pas. Voir ma réponse mise à jour. –

+0

@MarcoSulla une réponse envisager de créer vous-même au lieu de l'ajouter à votre question initiale modifié. – m7913d

Répondre

0

Le pilote ne fonctionne pas car il ne trouve pas la dépendance (cela dépend de libpq.dll), et lorsque vous l'exécutez, le plugin ne trouve pas la DLL requise. Si vous utilisez Windows, essayez de vérifier en utilisant dependencywalker du fichier qsqlpsql.dll.

Vous pouvez directement mettre votre libpq.dll dans votre dossier application exe.