1. 程式人生 > 實用技巧 >QT打包之解決MySQL打包driver not loaded

QT打包之解決MySQL打包driver not loaded

一開始在我打包完成之後,在網上查找了一系列解決辦法後放到別的電腦上(沒有MySQL)時,有的電腦可以正常執行,有的不能正常執行。最後通過分析軟體找到打包程式需要的dll檔案。

一:QT中選擇release並構建

Main函式裡面的加一句程式碼在最前面:QApplication::addLibraryPath("./plugins");

然後:

二:使用QT的自帶打包工具進行打包

在你專案打包好的地址中找到project.exe(換成你的構建生成的執行程式),我的地址是:

D:\Work\QTProjects\WorkProject\......\build-Project1-Desktop_Qt_5_14_2_MinGW_64_bit-Release\release

把它拷貝出來到一個空資料夾中(不要中文)

然後在這個資料夾出開啟cmd(快捷方式是按住shift然後滑鼠右擊,選擇在此處開啟命令視窗),輸入:windeployqt project.exe (替換成自己的EXE檔名,我這裡是添加了環境變量了,我再path中添加了C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin ,需要的可以新增自己的環境變數)按下回車生成一系列檔案如下:

三:新增MySQL和QT需要的一些檔案

1:建立一個plugins資料夾(和EXE檔案同級),並在這個資料夾裡建立sqldrivers資料夾

在裡邊放入檔案:qsqlmysql.dll

2:在EXE檔案的同級中貼上如下檔案:

3:在EXE檔案的同級中貼上MySQL需要的dll(在好多電腦中不貼上會報錯:driver not loaded):

這些dll檔案如果在你的本地release後可以正常執行,那麼都可以在你的電腦上找到。

可以使用工具procexp.exe進行分析查詢

附加:我的一些dll檔案https://download.csdn.net/download/qq_36022290/13026273