2017-09-07 7 views
0
  • Comment faire fonctionner ce processus de configuration/construction? Pourquoi les différentes ERREURS QMAKE mentionnées ci-dessous se produisent-elles (en détail si possible)?

code source (w/liens de téléchargement):Erreur lors de la construction du plugin MYSQL/QMYSQL sous Windows avec MariaDB

MariaDB 5.5.56 
https://downloads.mariadb.org/mariadb/5.5.56/ 
Qt 5.7.1 
https://download.qt.io/official_releases/qt/5.7/5.7.1/single/ 

Je décompresse & construire avec succès MariaDB 5.5.56 dans le répertoire suivant:

D:\Source_Code-Third_Party\MariaDB\mariadb-5.5.56 
Note: I "mkdir lib" and copy all ".lib"s into this folder post-build process. 

J'utilise ensuite les commandes suivantes par l'intermédiaire du (des) script (s) en lots que j'ai écrit:

set QMAKESPEC=win32-msvc2015 
    set _ROOT= 

    set VS2015PATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" 
    pushd %VS2015PATH% 
    call vcvarsall.bat x64 
    popd 

    set CL=/MP 
    set INSTPREFIX=D:\Qt\5.7.1 
    set OPENSSL_PATH=%usefulStuff% 
    set OPENSSL_LIBS=%usefulStuff%\libs 
    set INCLUDE=%usefulStuff%\include;%INCLUDE% 
    set LIB=%usefulStuff%\lib;%LIB% 
    set LIBPATH=%usefulStuff%\lib;%LIBPATH% 

    cd qtbase 

    configure.bat -skip qtwebengine -skip qtpurchasing -skip qtlocation -skip qtconnectivity -mp -confirm-licence -nomake tests -nomake examples -debug-and-release -opensource -shared -dbus -mp -openssl -qtzlib -plugin-sql-mysql -I %usefulStuff%\include -L %usefulStuff%\lib -prefix %INSTPREFIX% 

    cd src\plugins\sqldrivers\mysql 
    set longDir=D:\Source_Code-Third_Party\qt-everywhere-opensource-src-5.7.1 

    REM   (QMAKE COMMAND THAT CAUSES ERROR) 
    %longDir%\qtbase\bin\qmake "INCLUDEPATH+= D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/include" "LIBS+=D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/lib/libmysql.lib" mysql.pro 

    REM unsure if I should do an nmake here as well, or will the qtbase\nmake take care of everything (including plugin) 
    REM nmake 

    cd ..\..\..\.. 

    nmake 
    nmake install 

Avec ce qui précède (QMake ERREUR DE COMMANDE), je reçois la erreur:

Project ERRROR: No module claims plugin type 'sqldrivers' 

Quand je change le (QMake ERREUR DE COMMANDE) à ce qui suit (en utilisant différents qmake):

%longDir%\qtbase\qmake\qmake "INCLUDEPATH+= D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/include" "LIBS+=D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/lib/libmysql.lib" mysql.pro 

Je reçois un autre erreur:

 Project ERROR: Cannot load qmodule.pri! 
    Error processing project file: mysql.pro 

Quelques références J'ai pu trouver:
https://forum.qt.io/topic/51808/notorious-qsqldatabase-qmysql-driver-not-loaded-but-available/4

lien suivant (Qt Documentation) est format de code parce que "Vous avez besoin d'au moins 10 points de réputation pour poster plus de 2 liens."

http://doc.qt.io/qt-5/sql-driver.html#qmysql-for-mysql-4-and-higher 

Aurait marqué cette question avec « qmysql », mais « Création de la nouvelle balise « qmysql » exige au moins 1500 réputation. Essayez quelque chose de la liste des balises existantes à la place. »

---- Ci-dessous est lié, mais je soins plus sur les erreurs mentionnées ci-dessus ----
Je n'utilise Qt 5.8.0 ou 5.9.0 parce que je ne peux pas « -skip "," -plugin-sql-mysql ", et/ou" -qt-sql-mysql "pour travailler avec configure.bat. Je reçois des erreurs comme:

"-qt-sql-mysql" 
    ERROR: Invalid value given for boolean command line option 'sql-mysql'. 
           OR 
    "-plugin-sql-mysql" 
    ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed. 
    Check config.log for details. 
           OR 
    "-skip <somethingIShouldBeAbleToSkip>" 
    ERROR: Unknown command line option '-skip'. 

L'une des références de QTBUG je trouve:
https://bugreports.qt.io/browse/QTBUG-58536

  • Si quelqu'un/personnes devaient répondre à deux questions & plus, ce serait tout simplement génial!
  • Merci d'avance!

Répondre

0

J'ai suivi ces instructions pour la construction MariaDB sous Windows:

https://mariadb.com/kb/en/the-mariadb-library/Building_MariaDB_on_Windows/

Une fois que vous construisez, vous devriez aussi aller de l'avant et installer sur votre système. Ce processus d'installation place tout dans la structure de dossiers appropriée pour le processus de construction QT. Une fois que vous avez installé MariaDB (cela devrait ressembler à une installation MySQL), vous devriez être capable de suivre les instructions de construction standard de QT pour MySQL.

http://doc.qt.io/qt-5/sql-driver.html

En utilisant quelque chose de similaire à "-qt-sql-mysql -I C: \ PROGRA ~ 1 \ mysql \ include -L C: \ PROGRA ~ 1 \ mysql \ lib" lors de la configuration de l'intervalle QT. J'ai utilisé ce processus avec QT 5.7.1.