1、安裝MySQL時選擇安裝include和lib文件,安裝目錄中不能有空格,一般設置C:\mysql
2、設置環境變量,需添加如下的環境變量:
C:\Qt\4.7.4\bin;
C:\Qt\4.7.4\qt\bin;
C:\Qt\4.7.4\mingw\bin;
C:\mysql\lib\opt;
C:\mysql\include;
C:\mysql\bin
上述環境變量不能缺省,網上分享的解決辦法提及環境變量的很少,若設置不正確編譯過程中會遇到很多錯誤。
3、打開Qt Command Prompt,輸入第一條命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 後按回車
然後輸入第二條命令: qmake "INCLUDEPATH+=C:\MySQL\include"
"LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro
最後輸入:mingw32-make 進行編譯。
4、上述操作完成後,在C:\Qt\4.7.4\qt\plugins\sqldrivers就會生成所需的驅動文件。
上述四條是不出問題的情況下的步驟,不過一般不會那麼順利,不同的人安裝的過程中會出現不同的問題,這是一個折磨人的過程,但也是一個學習的過程哦。下面就說說我在安裝過程中遇到的一些問題。
1、環境變量設置錯誤,沒有將上述六條路徑全部正確輸入。
2、正確輸入環境變量後在Qt Command Prompt中編譯出現C:\mysql\libmysql.lib: No such file or directory的
錯誤。
這是說在C:\mysql目錄中找不到libmysql.lib庫文件, 到C:\mysql\lib\opt目錄中複製該文件放到C:\mysql中然
後再編譯就會成功。
3、WARNING: (internal):1: Unescaped backslashes are deprecated. 這種錯誤的解決方法如下:
(1)進入目錄E:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql,用記事本打開mysql.pro,在第二行添加如下的信息:INCLUDEPATH+="C:\MySQL\include"
LIBS+="C:\MySQL\lib\opt\libmysql.lib"
(2)在dos下輸入:qmake -o Makefile mysql.pro此時可能也會提示:
WARNING: e:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are
deprecated.
WARNING: e:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are
deprecated.
WARNING: e:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are
deprecated.
但是對最後的結果沒有影響。
(3)輸入:mingw32-make(使用nmake或者是make提示不是內部或外部命令,所以用了這個命令)
(4)上述操作完畢後,在C:\Qt\4.7.4\qt\plugins\sqldrivers就會生成所需的驅動文件,包含四個:
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a
4、e:/qt/4.7.4/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe cannot find -1libmysql
該問題產生的原因是在執行mingw32-make時,編譯器在 E:\Qt\2010.05\mingw文件夾中找不到對應的庫文
件。此問題的解決方法如下:
將C:\MySQL\lib\opt中的libmysql.lib拷貝到E:\Qt\4.7.4\mingw\lib中即可解決。