Я успешно скомпилировал драйверы MySQL, но не могу заставить Qt загрузить их.
Что нужно сказать в начале Ив получил драйвера ODBC и SQLite с пакетом (после установки Qt) и они тоже не определяются.
В *C:\Qt\4.8.0\plugins\sqldrivers* Iv получил:
qsqlite4.dll
qsqlite4.lib
qsqlited4.dll
qsqlited4.lib
qsqlmysql4.dll
qsqlmysql4.lib
qsqlmysqld4.dll
qsqlmysqld4.lib
qsqlodbc4.dll
qsqlodbc4.lib
qsqlodbcd4.dll
qsqlodbcd4.lib
qsqlpsql4.dll
qsqlpsql4.lib
qsqlpsqld4.dll
qsqlpsqld4.lib
Файлы qsqlmysql*.*, которые я также добавил:
C:\Qt\4.8.0\бин
ПРИМЕНЕНИЕ\
ПРИЛОЖЕНИЕ\Отладка\
ПРИЛОЖЕНИЕ\Выпуск\
ПРИЛОЖЕНИЕ\sqldrivers\
Конечно, Ив также установил QtSql*.dll.
Iv правильно настроил .pro:
QT += основной графический интерфейс сети sql
И я запускаю этот код:
#include <QSqlRecord>
#include <QSqlError>
QLibrary mysqllib("qsqlmysqld4.dll");
mysqllib.load();
auto t1 = mysqllib.isLoaded();
qDebug()<<"my library loaded"<<mysqllib.isLoaded();
QPluginLoader plug("qsqlmysqld4.dll");
plug.load();
auto t2 = plug.isLoaded();
qDebug()<<"mysql plugin is loaded"<<plug.isLoaded();
ui->textEditContent->append( "--SQL DRIVERS SUPPORTED:--\n" );
FOREACH( auto driver, QSqlDatabase::drivers() )
ui->textEditContent->append( " " + driver + "\n" );
QLibrary и QPluginLoader возвращают true. И QSqlDatabase::drivers() пуст. Что я делаю неправильно? Ни один из драйверов в C:\Qt\4.8.0\plugins\sqldrivers не виден Qt. Iv скомпилировал драйверы Qt и SQL одним и тем же компилятором (MSVC2010) без ошибок. Я запускаю свой код в течение нескольких месяцев. Стояла задача добавить поддержку MySQL.