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