Qt 5.9+OpenCV+MySQL應用程序發佈實用版本

首先,大家在發佈QT應用程序時可能會碰到博客說用這個那個打包軟件,用了之後可能還缺西的,到最後搞崩潰了還沒發佈出去,今天我就碰到了,所以把這些記下來以免以後忘記。
首先是將你的應用程序用release版本運行一遍
在這裏插入圖片描述
然後找到你的編譯後的對應的release文件夾
在這裏插入圖片描述
找到release下面的可執行文件.exe
在這裏插入圖片描述
將它複製到你想要安裝的文件路徑下去,這裏我複製了一個配置了opencv和mysql的應用程序到另一個文件夾裏面
在這裏插入圖片描述
然後這個時候就要使用Qt Creator自帶的windeployqt 工具,在開始菜單欄找到Qt然後找到對應的桌面工具,你用什麼編譯的就找對應的編譯工具
在這裏插入圖片描述
這裏我使用的是MingW的,打開這個命令行工具,然後進去你剛剛放exe文件的文件夾下面
在這裏插入圖片描述
輸入以下命令 **windeployqt xxx.exe **
在這裏插入圖片描述
可以在那個存放exe文件的文件夾下面自動生成的很多文件夾
在這裏插入圖片描述
添加了 Qt + = sql 的包含項的項目應該會包含不止這麼些文件夾,但是爲了演示,我這裏就不顯示出來了,然後下一步就是煩人的添加依賴項問題了
Windows下開發的應用程序在發佈時,需要將其依賴的一些動態鏈接庫一起打進安裝包裏面去。這個時候,快速確定這個程序到底依賴哪些動態鏈接庫變得非常重要。很多博客都介紹了Dependency Walker這個小工具。但是實際操作起來並不理想,因爲Dependency Walker將exe文件依賴的所有動態庫以及動態庫所依賴的動態庫都列出來了。看得你一臉懵逼:
在這裏插入圖片描述
你很難分清楚:倒底哪些DLL是需要打包的,哪些DLL是系統自帶的。而作爲打包過程中的一個小步驟,我根本不需要知道這麼多信息。這個時候,我們需要一個更加簡潔明瞭的工具。dumpbin就是今天要介紹的主角。
dumpbin是隨Visual Studio一起發佈的,在Visual Studio的“本機工具命令行”中就可以直接使用。使用的第一步就是打開Visual Studio的“本機工具命令行”:
在這裏插入圖片描述
命令行窗口打開後直接進入到你剛剛存放.exe文件的工程目錄,輸入命令“dumpbin /IMPORTS xxx.exe > output.txt”:
在這裏插入圖片描述
然後打開生成的output.txt文件
在這裏插入圖片描述
在這裏插入圖片描述
可以看到裏面有很多帶.dll後綴的文件名,這些就是我們缺少的依賴庫,配合everything這個快速搜索小工具我們就可以快速在電腦上面搜索到這些缺少的dll文件然後再將它們複製到發佈應用程序的文件夾下面
在這裏插入圖片描述
然後就把所有的依賴項都複製到這個文件夾下面
在這裏插入圖片描述
這樣應用程序就可以在別人沒有裝過opencv的電腦上面運行了,但是有些opencv
項這裏沒有列出來的可能在別人電腦上面運行的時候顯示沒有,這個時候把那些提示缺少的項複製到文件夾裏面就好了,一般只會缺少三四個,當然,前提是你電腦上面成功配置了opencv,那這些依賴項都可以成功的找到。

最後說一下mysql的問題,雖然使用自帶的windeployqt會把相應的mysql驅動弄到文件裏面,但是不全,所以最好還是找到如下兩個文件再複製到發佈文件夾裏面去
在這裏插入圖片描述
這些大家在配置項目的mysql時應該用到過,所以我這裏就不多說了
總之,配置好上面這些,把這個文件夾放到別的沒有mysql和opencv的電腦上面,然後點擊exe直接運行,可以成功運行,至於怎麼把.exe文件封裝成最後的打包安裝程序,請大家就參考別的博客啦

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