<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Qt | Windows下Mysql/Mariadb數據庫驅動編譯,解決"Driver not loaded"錯誤

      問題

      在使用Qt連接數據庫時,出現Driver not loaded報錯(這里以Mariadb數據庫為例Mysql同理)
      指定QMYSQL情況下報錯

      指定QMARIADB驅動情況下報錯

      出現原因分析

      由于Qt Sql模塊使用的是驅動程序插件與不同的數據庫API進行通信,當缺少當前連接的數據庫驅動插件時,就會報錯"Driver not loaded"
      在我們進行數據庫連接時,會調用QSqlDatabase的addDataBase制定連接數據庫的驅動

      在Qt中制定數據庫驅動后,Qt會動態加載數據庫驅動插件,首先是查找安裝目錄下的plugins\sqldrivers文件夾,我使用的是minGw32編譯器,所以實際查找的目錄應該是
      D:\Qt\5.15.2\mingw81_32\plugins\sqldrivers
      Qt查找對應文件夾中是否存在指定的驅動,一般驅動插件的存儲類型也是存在一定區別:
      我使用的Qt版本為Qt5.15.2,這里以QSQLITE驅動為例(因為這個sqllite數據庫驅動一般會包含在庫目錄中,不用再手動編譯),首先介紹一下不同引用庫對應的驅動文件格式:
      ● minGw:
      ○ qsqllite.dll ---發布版本(Realse)的數據庫驅動
      ○ qsqllite.dll.debug ---調試版本(Debug)的數據庫驅動
      ● msvc:
      ○ qsqllite.dll ---發布版本(Realse)的數據庫驅動
      ○ qsqllited.dll ---調試版本(Debug)的數據庫驅動

      這里就需要注意自己使用的編譯器/引用庫是哪一個,對應的編譯器生成的文件格式參考上面的內容。
      使用minGw64一般引用庫在Qt安裝目錄下的C:\Qt[Qt版本]\mingw81_64\lib,編譯器在C:\Qt\Tools\mingw810_64目錄下
      使用msvc64一般引用庫在Qt安裝目錄下的C:\Qt[Qt版本]\msvc2019_64\lib,編譯器通常安裝在 Visual Studio 的目錄下

      解決方案

      驅動編譯
      這里以編譯Mariadb數據庫驅動為例。
      首先找到Qt的數據庫插件編譯源代碼目錄,我的目錄為:
      D:\software\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers
      接下來需要明確自己的目前使用的引用庫及編譯器,以及需要編譯的數據庫驅動,因為我們需要編譯的是Mysql/Mariadb數據庫,所以選擇D:\software\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql目錄下的pro文件,并用QtCreator打開,配置項目時,選擇自己項目相同的編譯器,我這里選擇minGw64編譯器配置項目

      然后修改mysql.pro文件如下圖

      添加的頭文件搜索路徑和庫文件路徑:

      頭文件路徑

      INCLUDEPATH += "C:/Program Files/MariaDB 10.11/include/mysql/"

      庫文件路徑

      LIBS += -L"C:/Program Files/MariaDB 10.11/lib" -lmariadb
      在release下進行構建,將會在構建目錄下生成三個文件(構建目錄是D:\software\Qt\5.15.2\mingw81_64\qtbase\src\plugins\sqldrivers\mysql):
      然后將這 三個文件拷貝至D:\software\Qt\5.15.2\mingw81_64\qtbase\src\plugins\sqldrivers\plugins\sqldrivers(對應自己使用的編譯器進行選擇)

      接下來再進行測試連接,即可連接成功。

      編譯數據庫驅動后,使用windeployqt打包發布版本并在安裝了MariaDb/Mysql環境下仍然報錯“Driver not Load"解決方法

      方法1:mariaDb/Mysql安裝目錄下的lib目錄的環境變量
      方法2:每次打包程序時手動復制動態庫文件libmysql.dll和libmariadb.lib到exe程序同級目錄中(動態庫在mariaDb/Mysql安裝目錄下的lib目錄下)

      posted @ 2025-05-23 14:48  來一碗糖醋錦鯉  閱讀(64)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 韩国三级+mp4| 99久久机热/这里只有精品| 亚洲理论在线A中文字幕| 色综合 图片区 小说区| 中日韩中文字幕一区二区| 欧美日本精品一本二本三区| 98精品全国免费观看视频| 蜜臀av一区二区三区不卡| 久爱无码精品免费视频在线观看| 国产中文字幕在线一区| 亚洲性日韩精品一区二区| 河北区| 亚洲av无在线播放中文| 久久这里有精品国产电影网| 免费人成视频在线观看网站| 亚洲一区二区三区蜜桃臀| 亚洲精品一区二区制服| 任我爽精品视频在线播放| 美女内射福利大全在线看| 久久精品熟妇丰满人妻久久| 亚洲国产另类久久久精品小说| 亚洲色大成网站www永久男同| 亚洲国产精品第一二三区| 先锋影音男人av资源| 国产成人综合欧美精品久久| 日韩少妇人妻vs中文字幕| 蜜臀精品视频一区二区三区| 妺妺窝人体色WWW看人体| 婷婷久久综合九色综合88| 精品国产成人一区二区| 国产亚洲av夜间福利香蕉149| 国产亚洲精品成人aa片新蒲金| 人妻熟女一二三区夜夜爱| 亚洲无线码中文字幕在线| 国产尤物精品自在拍视频首页| 亚洲精品日产AⅤ| 日韩精品一二三黄色一级| 色欲av蜜桃一区二区三| 看全色黄大黄大色免费久久 | 国产AV福利第一精品| www国产亚洲精品久久网站|