Всем привет.
Тема конечно избитая, но ни как не получается собрать этот драйвер, перерыл множество информации включая этот форум.
Изначально собрал qt 5.11 из исходников с ключами
-shared -debug-and-release -platform win32-g++ -prefix D:\Qt\5.11\5.11-x64 -opensource -confirm-license -c++std c++14 -nomake examples -skip wayland -skip purchasing -skip serialbus -skip qtserialport -skip script -skip scxml -skip speech -skip location -opengl desktop -qt-zlib -qt-pcre -qt-libpng -qt-freetype -openssl-linked -I D:\Qt\openssl-1.0.2\dist\include -L D:\Qt\openssl-1.0.2\dist\lib OPENSSL_LIBS="-llibssl -llibcrypto -luser32 -lgdi32 -lwsock32 -lws2_32"
Собирал на Windows 10 Pro x64. Для сборки использовал mingw-w64, так же установил всё необходимое для сборки.
Скачал и установил "MySQL Connector C 6.1", установил его в каталог C:\MySql. (сначала установил версию х64, но потом после того как с ней ничего не получилось переустановил на x86 и проделал все действия с ней)
Затем как написано в официальной документации
http://doc.qt.io/qt-5/sql-driver.html#qmysql перешел в каталог "%QTDIR%\qtbase\src\plugins\sqldrivers" и выполнил там
"qmake -- MYSQL_INCDIR=C:/MySQL/include "MYSQL_LIBDIR=C:/MYSQL/lib" "
mingw32-make sub-mysql
но получил ошибку
"mingw32-make: *** No rule to make target 'sub-mysql'. Stop."
посмотрел Makefile, цели sub-mysql там действительно нет, если же выполнять просто mingw32-make то проходит сборка OBDC и SqlLite, Mysql не собирается.
После этого перерыл кучу инфы и наткнулся на этот ресурс
https://mike-mvk.livejournal.com/4196.html в котором говорят что необходимо сначала libmysql.dll перевести в libmysql.a
выполнил преобразование и повторил всё заново, ошибка таже.
Затем попробовал сделать так как написано на указанном ресурсе
cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\libmysql.a" mysql.pro
но опять получил ошибку
Project ERROR: Library 'mysql' is not defined.
После чего решил собрать QT уже с поддержкой MySql, взял чистые исходники и попробовал сконфигурировать с параметрами
-shared -debug-and-release -platform win32-g++ -prefix D:\Qt\5.11\5.11-x64 -opensource -confirm-license -c++std c++14 -nomake examples -skip wayland -skip purchasing -skip serialbus -skip qtserialport -skip script -skip scxml -skip speech -skip location -opengl desktop -qt-zlib -qt-pcre -qt-libpng -no-libjpeg -qt-freetype -openssl-linked -I D:\Qt\openssl-1.0.2\dist\include -L D:\Qt\openssl-1.0.2\dist\lib OPENSSL_LIBS="-llibssl -llibcrypto -luser32 -lgdi32 -lwsock32 -lws2_32" -sql-mysql MYSQL_INCDIR=C:\MySQL\include MYSQL_LIBDIR=C:\MySQL\lib MYSQL_LIBS=-lmysqld
Но при конфигурировании проверка MySql не проходит "MySql .. no" и в конце появляется сообщение об ошибке "ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed."
После решил скачать qt-opensource-windows-x86-5.11.1.exe и попробовать собрать x86 версию драйвера, потому как где то прочитал что она будет работать и с х64, но получил всё те же ошибки
Кто нибудь удачно собирал драйвер MySql для Qt 5.11 или 5.10?
Если собирали то подскажите в чем может быть ошибка, перерыл весь интернет, ни один из приведённых способов не помогает решить проблему.