【跟我一起開闢QT之路】(4)之編譯MySql數據庫驅動


    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中即可解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章