MySQLドライバーを正常にコンパイルしましたが、Qtに強制的にロードさせることはできません。
最初に言わなければならないことは、Ivはパッケージに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 \ bin
応用\
APPLICATION \ Debug \
APPLICATION \ Release \
APPLICATION \ sqldrivers \
もちろん、IvはQtSql*.dllも配置しています。
Ivは.proを適切に構成しました:
QT+=コアGUIネットワーク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は、同じコンパイラ(MSVC2010)を使用してQtおよびSQLドライバーをエラーなしでコンパイルしました。コードを数か月間実行しています。タスクは、MySQLサポートを追加することでした。