qt+opencv+vs15生成的exe打包在其他電腦執行

 

前言:如果在電腦vs編寫的程序生成的exe需要在其他沒有安裝環境的電腦運行的話,需要在exe所在的目錄下添加所需要的dll,即動態鏈接庫。

步驟一:在VS中生成exe可執行文件,exe生成路徑如果是64位則是在x64文件夾中,具體看發佈的版本是debug還是release選擇對應文件夾就會有了。32位同理。

 

步驟二:生成QT所需要的dll(動態鏈接庫庫)

1、將生成的exe文件單獨放在一個目錄

 

2、新建一個文本文件txt,添加內容

E:\app\program\QT\5.11.2\msvc2015_64\bin\windeployqt(qt環境變量的位置,不知道的看下圖在環境變量查看) readFile.exe(你的exe文件)

 

pause

 

 

                                                                    (查看qt安裝路徑bin目錄)

3、將txt文件修改成bat文件,雙擊運行

 

                                                                                 (添加qt的dll中)

                                                              (添加完成,至此qt的dll已經添加完畢)

步驟三:添加opencv和vs所需要的dll,本方法適用於查看exe需要添加的dll(自己知道的話自己添加就可以了)

1、打開vs的命令提示符,在window搜索框收vs就有了

 

2、進入我們文件所在的文件夾,在命令行中輸入命令:dumpbin /IMPORTS readFile.exe > output.txt

 

3、打開生成在你文件夾中的output.txt,文本中的dll就是需要我們添加dll了(知道位置的可以自己添加,不知道繼續看)

 

 

4、下載軟件:搜索 Everything 下載地址:https://www.voidtools.com/zh-cn/,根據txt所需要的dllEverything搜索添加就可以了。一般會搜索到很多個,根據你環境的版本和位數選擇。百度雲:鏈接:https://pan.baidu.com/s/1jaC_vgwzGuebt8n343TsfA 
提取碼:u5kf

 

5、所有dll添加完畢後,記得將你qt或者opencv所用到的圖片資源或者其他資源添加進來。

#完

坑1、沒有通過dumpbin /IMPORTS readFile.exe > output.txt查看我們需要的dll很容易漏需要的dll,但是一般會報錯好排除

坑2、添加完qt的dll後程序是可以運行的,但是執行功能會沒有反應,卡死或者閃退。這時候沒有報錯,就需要排查程序的問題了,我忘記加了圖片資源導致opencv無法運行。

 

 

參考鏈接:1、https://blog.csdn.net/omg_orange/article/details/99624183

                   2、https://blog.csdn.net/u013165921/article/details/79404645

                   3、我所用的dll打包:下載鏈接

結合上面兩種方式:

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