Для одного проекту знадобилося отримати доступ до бази даних на локальному сервері MySQL 5.1. Природно, що з ходу нічого не вийшло. Перевіривши на наявність драйвера, виявилося, що його там немає зовсім. Гаразд, збираємо самі.
У мене стоїть Denwer 3 з базою 5.1.40.
MySQL 5.1.40 знайти не вдалося, є 5.1.46. Встановлюю в С: \ MySQL разом з lib'ами.
QtSQK повинен бути встановлений разом з QtSource.
Запускаю Qt 4.7.3 for Desktop (mingw)
set QTDIR=C:\QtSDK\QtSource\4.7.3
set mySQLDIR=C:\MySQL
cd% QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=%mySQLDIR%\include" "LIBS+=% mySQLDIR%\lib\opt\libmysql.lib"-o Makefile mysql.pro
mingw32-make
У мене стоїть Denwer 3 з базою 5.1.40.
MySQL 5.1.40 знайти не вдалося, є 5.1.46. Встановлюю в С: \ MySQL разом з lib'ами.
QtSQK повинен бути встановлений разом з QtSource.
Запускаю Qt 4.7.3 for Desktop (mingw)
set QTDIR=C:\QtSDK\QtSource\4.7.3
set mySQLDIR=C:\MySQL
cd% QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=%mySQLDIR%\include" "LIBS+=% mySQLDIR%\lib\opt\libmysql.lib"-o Makefile mysql.pro
mingw32-make
Йдемо в%QTDIR%\src\plugins\sqldrivers\mysql і копіюємо в
С:\QtSQK\Desktop\Qt\4.7.3\mingw\plugins\sqldrivers файли libqsqlmysqld4.a і qsqlmysqld4.dll.
А також з C:\MySQL\bin файл libmysql.dll в папку C:\WINDOWS, а краще покласти в папку з програмою.
С:\QtSQK\Desktop\Qt\4.7.3\mingw\plugins\sqldrivers файли libqsqlmysqld4.a і qsqlmysqld4.dll.
А також з C:\MySQL\bin файл libmysql.dll в папку C:\WINDOWS, а краще покласти в папку з програмою.
Перевіряємо:
qDebug() << QSqlDatabase::drivers();
Має бути:
("QSQLITE", "QMYSQL3", "QMYSQL")