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 :

Compilation du plug-in MySQL de Qt 5.0 avec MinGW sur Windows 7


Sujet :

Bases de données

  1. #21
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    J'ai installer cette version : mysql-5.5.30-winx64

  2. #22
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    OK.
    La version de Qt5 en téléchargement sur le site est compilée en 32bits.

    Du coup tu essaye de compiler ton plugin avec une version de Qt et mingw en 32 bits et MySQL en 64bits.

    Pour réussir à compiler, il faut donc prendre un version MySQL en 32bits.

    Cela devrait résoudre ton pb .

    A+

  3. #23
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par charlespf Voir le message
    Ah, c 'est ça.
    La version de Qt5 en téléchargement sur le site est compilé en 32bits.

    Du coup tu essaye de compiler ton plugin avec une version de MySQL en 64bits.

    Pour réussir à compiler, il faut donc prendre un version MySQL en 32bits.

    Cela devrait résoudre ton pb .

    A+
    Sa ne marche pas non plus :
    Images attachées Images attachées  

  4. #24
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    OK,

    Il n'arrive pas à lier avec la librairie mysql que tu lui fournit.
    peux-tu me donner les commandes exactes que tu saisis (qmake ...) ?

    A+

  5. #25
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    cd C:\Qt\Qt5\5.0.1\Src\qtbase\src\plugins\sqldrivers\mysql
    qmake "INCLUDEPATH+=C:\MySQL\include" " LIBS+=C:\MySQL\lib\libmysql.lib" mysql.pro
    mingw32-make -f Makefile.Debug

  6. #26
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    dans la commande qmake, tu as bien doublé les "\" pour INCLUDEPATH et LIBS ?

    A+

  7. #27
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé en les doublant : même résultat !

  8. #28
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    Salut,

    OK. Tu as bien désinstallé la version 64 bits de MySQL puis installé la version 32 bits ?

    A+

  9. #29
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Oui je l'ai bien désinstaller ! Je crois plutot qu'il me manque un .dll avec Qt

  10. #30
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    Non, la dll "qsqlmysqld.dll" est en faite ce que tu dois obtenir une fois la compilation effectuée.

    Actuellement, ton souci est qu'il n'arrive pas à lier le code source du plugin avec les librairies DLL de MySQL.

    Tu arrives à effectuer des compilations d'applications avec Qt ou ça ne fonctionne pas ?

    A+
    charlespf

  11. #31
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Oui j'arrive a compiler mer programmes !
    Si tu m'envoie tes dll compilés sa marchera ?

  12. #32
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    Mmm, on peut essayer (en pièce jointe) mais pas sûr que cela fonctionne.

    Il faut copier les deux fichiers dans le zip dans Qt5.0.1\5.0.1\mingw47_32\plugins\sqldrivers\.
    Voir ensuite si Qt arrive à charger le plugin et arrive à se connecter à la BDD.

    A+
    charlespf
    Fichiers attachés Fichiers attachés

  13. #33
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Bon j'ai bien placée les dll et sa ne marche toujours pas : QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3
    Ou est ce que j'ai uu problème maintenant ?

  14. #34
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    C'est bizarre, il te dit que tu as QMYSQL comme driver disponible.

    Peux-tu me montrer la ligne qui contient la méthode addDatabase ?

    A+

  15. #35
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    Dans le .pro je ne dois pas y ajouter quelque chose d'autre que QT += sql

  16. #36
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    Salut,

    Non, c'est correct comme ça.
    Si tu n'avais pas ajouté "QT += sql" dans le fichier .pro, tu n'aurais pas pu compiler ton application.

    Par contre, pour l'erreur de chargement du plugin, je ne vois pas trop pourquoi cela ne fonctionne pas ...

    Après il y a aussi la possibilité de passer par le plugin ODBC si tu es sous Windows mais il faudra le compiler aussi, mais celui-ci ne nécessite pas de librairies externes. Il faudra enfin le pilote ODBC Mysql pour que cela fonctionne.

    A+

  17. #37
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Au fait, tu utilises bien la même version de Qt (strictement exactement la même) en binaire pour ton application que pour compiler le plug-in, de même qu'exactement le même compilateur (il me semble que toute petite incrémentation de version peut poser problème) ? (Une buildkey est incluse dans chaque DLL de Qt, pour vérifier que l'utilisateur ne va pas charger des DLL de plusieurs versions avec des compilateurs différents, ce qui mènerait directement à une explosion de l'Univers, en tout cas de la vue qu'a une application Qt. Si la buildkey de la DLL ne correspond pas à celle qui tente de la charger, l'opération est annulée, c'est peut-être ce qui arrive là.)
    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 !

  18. #38
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par charlespf Voir le message
    Salut,

    Non, c'est correct comme ça.
    Si tu n'avais pas ajouté "QT += sql" dans le fichier .pro, tu n'aurais pas pu compiler ton application.

    Par contre, pour l'erreur de chargement du plugin, je ne vois pas trop pourquoi cela ne fonctionne pas ...

    Après il y a aussi la possibilité de passer par le plugin ODBC si tu es sous Windows mais il faudra le compiler aussi, mais celui-ci ne nécessite pas de librairies externes. Il faudra enfin le pilote ODBC Mysql pour que cela fonctionne.

    A+
    Donc si j'utilise le plug-in ODBC, je pourrais gérer une base de données MySql ? J'ai juste besoin de faire un UPDATE sur celle-ci et peut-être un SELECT ça passera ?

    Citation Envoyé par dourouc05 Voir le message
    Au fait, tu utilises bien la même version de Qt (strictement exactement la même) en binaire pour ton application que pour compiler le plug-in, de même qu'exactement le même compilateur (il me semble que toute petite incrémentation de version peut poser problème) ? (Une buildkey est incluse dans chaque DLL de Qt, pour vérifier que l'utilisateur ne va pas charger des DLL de plusieurs versions avec des compilateurs différents, ce qui mènerait directement à une explosion de l'Univers, en tout cas de la vue qu'a une application Qt. Si la buildkey de la DLL ne correspond pas à celle qui tente de la charger, l'opération est annulée, c'est peut-être ce qui arrive là.)
    Oui j'ai une seule version de Qt installer et MinGW et livré avec donc j'en ai qu'un aussi normalement !

  19. #39
    Membre expérimenté
    Avatar de charlespf
    Homme Profil pro
    Développeur C/C++/Qt/Python et WebPHP
    Inscrit en
    Mai 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur C/C++/Qt/Python et WebPHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 251
    Points : 1 683
    Points
    1 683
    Par défaut
    Citation Envoyé par TiBrice974 Voir le message
    Donc si j'utilise le plug-in ODBC, je pourrais gérer une base de données MySql ? J'ai juste besoin de faire un UPDATE sur celle-ci et peut-être un SELECT ça passera ?
    Oui, ODBC est une sorte de couche d'abstraction et utilisée par les technologies Microsoft pour effectuer des opérations sur les bases de données. Mais ce n'est pas forcément une bonne solution à utiliser surtout si tu souhaites ensuite passer sous Linux par ex.

    Citation Envoyé par TiBrice974 Voir le message
    Oui j'ai une seule version de Qt installer et MinGW et livré avec donc j'en ai qu'un aussi normalement !
    Cela me paraissait bizarre que mes dll arriveraient à fonctionner sur ta machine. Tu utilises bien l'invite de commande disponible avec Qt pour compiler ?

    A+

  20. #40
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par charlespf Voir le message
    Oui, ODBC est une sorte de couche d'abstraction et utilisée par les technologies Microsoft pour effectuer des opérations sur les bases de données. Mais ce n'est pas forcément une bonne solution à utiliser surtout si tu souhaites ensuite passer sous Linux par ex.



    Cela me paraissait bizarre que mes dll arriveraient à fonctionner sur ta machine. Tu utilises bien l'invite de commande disponible avec Qt pour compiler ?

    A+
    En fait c'est bon maintenant ! J'ai utilisé La même installation de MySql que toi et du coup en plaçant les dll que tu m'a envoyé j'ai plus l'erreur ! J'ai celle si maintenant :
    En utilisant sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QMessageBox::critical(0, QObject::tr("Database Error"), db.lastError().text());
    J'ai sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nativeResourceForWindow: 'handle' requested for null window or window without handle.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/01/2015, 09h45
  2. Compiler le plug-in MySQL
    Par benten78 dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/04/2014, 15h07
  3. Compilation du plug-in MySQL
    Par aicou dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/07/2011, 22h17
  4. [Aide] Impossible de compiler mon plug-out
    Par selimR dans le forum BOUML
    Réponses: 6
    Dernier message: 07/10/2007, 12h08

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