IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Discussion :

QMYSQL compilé mais impossible à charger


Sujet :

Bases de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2002
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2002
    Messages : 3
    Par défaut QMYSQL compilé mais impossible à charger
    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

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Tes commandes de compilation me paraissent étranges (voir http://qt.developpez.com/doc/4.7/sql-driver/#qmysql). Tu as plusieurs versions de Qt installées (une avec buildkey spéciale, l'autre sans, par exemple) ? Tu utilises bien exactement le même compilateur pour le plug-in que pour Qt (même service pack, il me semble que c'est consigné jusqu'à ce point dans les binaires) ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2002
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2002
    Messages : 3
    Par défaut
    Re,

    Merci de ta réponse !

    J'ai essayé de recompiler le plugin MySQL en suivant le lien que tu m'as fourni, la DLL de debug resultante fait exactement la même taille, et le problème est identique.

    Je n'ai qu'une seule version de Qt fraîchement installée (l'installeur offline du site de Nokia). Le compilateur est le même, aucun changement de ce côté-là (VS2008 express)

    Très étrange tout de même, je continue à fouiller de mon côté...

    Merci encore !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2002
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2002
    Messages : 3
    Par défaut La solution !
    Re,

    J'ai envie de dire mais quel c** !
    J'avais installé un programme fait avec Qt qui avait placé ses DLLs dans system32, prenant le pas sur celles de la version 4.8.1 du SDK installé, sans doute...

    Problème réglé, merci encore pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/10/2011, 18h09
  2. Accès au net mais impossible de pinger des adresses non IP ?
    Par muad'dib dans le forum Dépannage et Assistance
    Réponses: 5
    Dernier message: 18/09/2006, 11h44
  3. dll qui compile mais qui bloque en appel
    Par darkman10 dans le forum Windows
    Réponses: 7
    Dernier message: 09/05/2006, 15h02
  4. Réponses: 2
    Dernier message: 28/04/2004, 10h45
  5. Réponses: 2
    Dernier message: 23/09/2003, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo