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 :

Pilote MySQL : Cannot mix incompatible Qt library (version 0x50b03) with this library (version 0x50c05)


Sujet :

Bases de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Pilote MySQL : Cannot mix incompatible Qt library (version 0x50b03) with this library (version 0x50c05)
    Bonjour !

    Nouveau sur Qt j'ai eu la très bonne idée de vouloir utiliser une base de donnée MySQL, bien entendu ça ne s'est pas passé aussi bien que prévu et j'aurai besoin de votre aide ! (A la lecture de ce forum je me rend compte que je ne suis absolument pas le seul...)

    Je me suis grandement aidé de ce fil pour résoudre mon problème mais ça n'a malheureusement pas suffit.

    En premier lieu j'ai naïvement essayé de suivre la doc : https://doc.qt.io/qt-5/sql-driver.html . Il ne compilait pas de driver MySQL.

    Ensuite je suis allé dans le dossier ~/Qt/5.12.5/Src/qtbase/src/plugins/sqldrivers/mysql pour éxécuter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qmake qmake "INCLUDEPATH+=/usr/include" "LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient_r"
    Erreur :
    Project ERROR: Library 'mysql' is not defined.
    A ce stade là en suivant le topic linké plus haut j'ai remplacé le mysql.pro par celui proposé. J'ai réussi à éxécuter correctement qmake, joie ! Est ce que make allait passer? Non.
    /usr/include/c++/8/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
    Des recherches m'ont proposé une solution : retirer le flag "INCLUDEPATH=[...]" de qmake. J'ai essayé, maintenant il me manquait mysql.h, bon....
    J'ai rajouté manuellement l'emplacement du fichier dans le Makefile, cette fois-ci ça compile !

    Je relance mon projet, Qt ne détecte toujours aucune driver -_- .
    Toujours en me basant sur le fil d'au dessus je me rends compte que le driver n'a pas été copié dans le répertoire contenant les autres drivers. Je l'ajoute donc manuellement.

    Cette fois-ci, miracle,Qt détecte mon driver ! Sauf que le programme crash immédiatement avec l'ereur suivante :
    Cannot mix incompatible Qt library (version 0x50b03) with this library (version 0x50c05)
    Je ne trouve absolument aucune ressource transposable à ma situation sur le net pour ce problème et je suis à court de solutions de mon côté...

    Help, please ?

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 710
    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 710
    Points : 189 012
    Points
    189 012
    Par défaut


    Pour tes problèmes de compilation, as-tu bien installé le client MySQL ? Le paquet dépend de ta distribution : pour Fedora/CentOS, de mémoire, c'est libmysqlclient-dev.

    Ton erreur à l'exécution semble venir du fait que tu compiles ton application avec une version de Qt antérieure à celle utilisée pour compiler ton extension MySQL. Aurais-tu plusieurs versions installées ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse.

    Oui j'ai bien installé le client mysql ainsi que les headers de développement sur ma distrib.

    EDIT : En fait j'avais une version 11 de QT qui trainait sur ma machine je ne sais pas pourquoi. Je l'ai supprimé maintenant il faut que j'arrive à compiler à nouveau ...

    edit 2 : vu que ce n'est plus le même problème je vais marquer le sujet comme résolu et probablement en ouvrir un nouveau pour plus de clarté.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/12/2009, 10h08
  2. Java et pilote MySQL
    Par adrian07 dans le forum JDBC
    Réponses: 1
    Dernier message: 26/06/2008, 02h20
  3. [Portlet] Cannot find the tag library descriptor
    Par bgrand dans le forum Portails
    Réponses: 6
    Dernier message: 17/01/2008, 16h49
  4. [JSTL] Cannot find the tag library descriptor for functions
    Par thierryler dans le forum Taglibs
    Réponses: 1
    Dernier message: 01/12/2007, 12h44
  5. probleme de pilote MYSQL
    Par guchr dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/05/2007, 12h34

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