Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compilation MySQL

sqldrivers-config.pri no such file or directory

    17 janvier 2021 à 2:04:58

    Bonjour à tous !

    je cherche à compiler les drivers SQL sur Qt mais je suis bloqué à la 2e étape.

    D'abord je me positionne sur le dossier mysql :

    cd C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql

    Ensuite j'execute :

    qmake “INCLUDEPATH+=C:\PROGRA~2\MySQL\MYSQLS~1.7\include” “LIBS+=C:\PROGRA~2\MySQL\MYSQLS~1.7\lib\libmysql.lib” mysql.pro

    Et j'obtiens les erreurs suivantes :

    Cannot read C:/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory
    Project ERROR: Library 'mysql' is not defined.

    J'ai beau chercher je ne trouve pas de solution à ces problèmes...

    Je suis sur Windows 7, Qt 5.15.2 en 32bits et MySQL Server 5.7 32bits.

    • Partager sur Facebook
    • Partager sur Twitter
      19 janvier 2021 à 21:26:49

      J'ai eu beau réinstaller Qt de 64 (initialement) en 32bits rien n'a changé, il semble que le fichier qtsqldrivers-config.pri ne soit pas installé. Quelqu'un aurait une idée de pourquoi il manquerait ? Un plugin manquant ?

      • Partager sur Facebook
      • Partager sur Twitter
        8 février 2021 à 22:56:02

        Alors étant donné que c'est un problème de longue haleine qui donne du fil à retordre à beaucoup de monde à ce que je vois, j'ai fait énormément de lecture pour comprendre la compilation du plugin. Et comme j'ai finalement beaucoup appris de choses, j'en profite pour tout réunir pour ceux qui chercheront comme moi et qui seront content de trouver des réponses à des choses évidentes pour les confirmés :

        • MySQL étant livré sous une licence particulière, il faut compiler soit-même le plugin MySQL de Qt pour assurer la connexion entre Qt et le serveur MySQL. La marche à suivre est ici : https://doc.qt.io/qt-5/sql-driver.html
        • je suis passé de mingw 64bits à MSVC2019 64 bits afin de tester QWebEngine. Mais finalement je n'ai pas réussi à compiler le plugin mysql avec MSVC (et en plus QWebEngine ne semble pas bien fonctionner avec Windows 7 et antérieurs, GROS ralentissements) donc je suis repassé sur mingw et ça a marché
        • pour l'erreur du qtsqldrivers-config.pri, j'ai compris qu'il fallait se positionner dans le dossier sqldrivers et nonsqldrivers\mysql comme ça a visiblement été le cas précédemment. De même la requête "qmake" a changé, il suffit de se reporter à la doc de Qt citée plus haut.

        Sinon j'ai réussi à compiler (ENFIN!!!) le plugin et à le rendre fonctionnel. Voilà ce que j'ai fait dans le prompt de Qt :

        cd C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers

        qmake -- MYSQL_INCDIR="C:/PROGRA~1/MySQL/MySQLS~1.0/include" MYSQL_LIBDIR="C:/PROGRA~1/MySQL/MySQLS~1.0/lib"

        mingw32-make

        mingw32-make install


        Ensuite j'ai copié libmysql.dll et libmysql.lib de "C:\Program Files\MySQL/MySQL Server 8.0\bin" vers "C:\Qt\5.15.2\mingw81_64\bin"

        Je n'ai pas encore essayé de faire une distribution de mon programme mais je me doute qu'il faudra rajouter avec l'exécutable certains fichiers notamment ces 2 précédents. voici 2 liens que je garde sous le coude pour plus tard si ça peut aider certains :

        https://forum.qt.io/topic/106905/what-is-current-2019-recommended-process-complete-for-building-a-mysql-driver-for-use-with-qt-on-windows/14

        https://openclassrooms.com/forum/sujet/qt5-01-avec-mysql-driver-plus-si-affinite

        Edit :

        Ah et j'oubliais, j'ai aussi transféré qsqlmysql.dll de "C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers" vers "C:\Qt\Tools\QtCreator\bin\plugins\sqldrivers".

        J'aurais pensé que l'installation de la ligne "mingw32-make install" le fasse pour moi mais non..

        -
        Edité par Crinopexia 9 février 2021 à 19:32:07

        • Partager sur Facebook
        • Partager sur Twitter

        Compilation MySQL

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown