1. 程式人生 > >QT5.6+opencv2.49+vs2015生成的exe可執行程式打包方法

QT5.6+opencv2.49+vs2015生成的exe可執行程式打包方法

由於研究生工作關係,用到了qt寫介面,程式寫好了,但是當exe檔案拷貝出來到其他電腦上時總是提醒缺少各種dll檔案,搞了半天,終於還是把exe檔案打包好了,測試可以在室友們的電腦上正常執行。下面把相關步驟大致寫一下。

環境:qt5.6(vs版本的),opencv2.49,vs2015

問題:因為qt已經整合到vs裡面,而且opencv的環境在vs裡面也已配置好,所以為了省事我先是直接打包vs在debug模式下生成的exe,各種出問題,各種缺少dll檔案,無奈又在qtcreator中配置了一遍opencv(不過也很簡單,幾行程式碼的事兒)。

過程:1.在qtcreator中配置opencv。在 .pro檔案中新增如下程式碼即可:

INCLUDEPATH += E:\opencv\build\include\
INCLUDEPATH += E:\opencv\build\include\
INCLUDEPATH += E:\opencv\build\include\


LIBS+=E:\opencv\build\x64\vc12\lib\opencv_ml249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_calib3d249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_contrib249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_core249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_features2d249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_flann249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_gpu249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_highgui249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_imgproc249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_legacy249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_objdetect249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_ts249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_video249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_nonfree249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_ocl249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_photo249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_stitching249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_superres249d.lib
LIBS+=E:\opencv\build\x64\vc12\lib\opencv_videostab249d.lib
其中E:是我opencv安裝的根目錄,改為自己解壓的目錄即可。.lib前面的d表示debug模式。如果release模式,則沒有d。然後在主要用到opencv庫的cpp檔案前面加上:
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <opencv/cv.h>
using namespace cv;
即可。

2.debug模式下執行程式,生成exe。在桌面上新建資料夾,名字最好為英文或數字,將exe拷貝到資料夾中,在資料夾中新建一個txt,裡面寫上:

E:\Software\Qt5.6\5.6\msvc2015_64\bin\windeployqt.exe ***.exe

pause  
其中,
E:\Software\Qt5.6\5.6\msvc2015_64\bin\
為你qt安裝的相關目錄,改為你自己的即可,***.exe是你qt生成的exe檔案的名稱。將檔案字尾改為.bat。執行檔案。這樣就可以利用qt自帶的windeployqt工具自動獲得exe檔案執行所需要的dll檔案,並自動儲存在剛才新建的資料夾中。

3.在剛才的新建資料夾中新增opencv和vs所需要的一些dll檔案。最終應該是這樣的:




之後就可以打包,可以用Enigma Virtual Box等工具對exe進行打包即可。

相關推薦

no