Ошибка построения Q MYSQL Плагин для Qt на Windows - PullRequest
0 голосов
/ 07 января 2020

Я недавно переустановил Qt - и теперь у меня возникают проблемы с моими MySQL драйверами для Qt. Теперь я получаю сообщение об ошибке:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7


Итак, я пытаюсь собрать драйвер Q MYSQL. Пока у меня есть ...

  1. Загрузил установщик сообщества MySQL, запустив mysql -installer-web-community-8.0.18.0.msi

    И установил x86-версию MySQL Connector C 6.11, которая была сохранена в C: \ Program Files (x86) \ MySQL \ MySQL Connector C 6.1


Открыл командную строку разработчика для VS 2017 и запустил:

    CD "C:\Qt\5.12.6\Src\qtbase\src\plugins\sqldrivers"
    qmake -- MYSQL_INCDIR="C:/Program Files (x86)/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files (x86)/MySQL/MySQL Connector C 6.1/lib"

Что, кажется, работает, когда я получаю "да" для MySQL:


    Running configuration tests...
    Checking for DB2 (IBM)... no
    Checking for InterBase... no
    Checking for MySQL... yes
    Checking for OCI (Oracle)... no
    Checking for ODBC... yes
    Checking for PostgreSQL... no
    Checking for SQLite (version 2)... no
    Checking for TDS (Sybase)... no
    Done running configuration tests.

    Configure summary:

    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. yes
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no

    Qt is now configured for building. Just run 'nmake'.
    Once everything is built, you must run 'nmake install'.
    Qt will be installed into 'C:\Qt\5.12.6\msvc2017_64'.

    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.

Примечание: Я также пытался установить x64-версию MySQL Connector C 6.1 вместо x86, но когда я запускаю QMAKE, то (после настройки параметров INCDIR и LIBDIR из qmake) он говорит: нет 'для MySQL - что я считаю означает, что я правильно пытаюсь использовать версию x86.


Затем из того же CMD я запускаю: nmake sub-mysql, но я получаю ошибку:
c:\qt\5.12.6\src\qtbase\src\plugins\sqldrivers\mysql\qsql_mysql_p.h(60): fatal error C1083: Cannot     open include file: 'mysql.h': No such file or directory
main.cpp
c:\qt\5.12.6\src\qtbase\src\plugins\sqldrivers\mysql\qsql_mysql_p.h(60): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
Generating Code...
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

Я проверил, что 'mysql .h' существует в 'C: \ Program Files (x86) \ MySQL \ MySQL Connector C 6.1 \ include'.
Есть что-то еще, что я пропускаю или делаю неправильно?

ОС : Windows 10
Qt: 5.12.6
MySQL: C Разъем 6.11 x86
Компилятор: MSV C 2017

...