QtCreatorでMySQLを使用する方法
-
Qtを使ってMySQLにアクセスしようとしています。
開発環境:Windows7
統合開発環境:QtCreator4.8.4
コンパイラ:minGW.proファイルに下記の様にMySWQLのINCLUDEPATHを追加しました。
INCLUDEPATH += C:\Program Files\MySQL\MySQL Server 5.5\includeするとビルド時に下記の様なエラーが発生します。
g++: error: C:\Program: No such file or directory
g++: error: Files\MySQL\MySQL: No such file or directory
g++: error: Server: No such file or directory
g++: error: 5.5\lib\libmysql.lib: No such file or directory
mingw32-make[1]: *** [debug\MySQLTest02.exe] Error 1
mingw32-make: *** [debug] Error 2
11:27:24: プロセス "C:\MinGW\bin\mingw32-make.exe" はコード 2 で終了しました。
Error while building/deploying project MySQLTest02 (kit: デスクトップ)
ステップ 'Make' 実行中g++: error: C:\Program: No such file or directory と出ているのですが、
指定したディレクトリは"Program Files"なのですが、"Program"を探しているということは
スペースの入ったディレクトリ名はダメということなのでしょうか? -
質問者です。
上記の状態から少し進展したので記します。ディレクトリやファイル名にスペースが有るような場合はquote関数を使えばよいとQtAssistantに書いておりました。
結局.proファイルに下記を追加しました。INCLUDEPATH += $$quote(C:\Program Files\MySQL\MySQL Server 5.5\include)
LIBS += $$quote(C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib)ビルドエラーは取れたのですが、
コンソールで下記のエラーが出てしまいました。エラーメッセージ------------------------------------------------------
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBCQMYSQLドライバが有りませんと言われていますが、
C:\Qt\4.8.4\include\QtSql配下にQMYSQLDriverというのが見て取れます。
何故なのでしょうか?
どなたか解る方がいらっしゃったらアドバイス下さい。 -
QtでSQLデータベースを使用するときは、通常はデータベースに直接リンクするのではなく、データベースドライバプラグインを通じて行います。
$QTDIR/plugins/sqldrivers 以下に各データベース用のプラグイン( この場合は qsqlmysql4.dll かな)が必要です。Qtがバイナリパッケージが自前でのビルドかは分かりませんが、おそらくこのプラグインはインストールされていないと思います。
http://qt-project.org/doc/qt-4.8/sql-driver.html#how-to-build-the-mysql-driver-for-mingw-users
に mingw 用の MySql ドライバのビルド方法がありますので、そちらを参考にドライバのビルドとインストールを試してみてください。