QT5.6+opencv2.49+vs2015生成的exe可执行程序打包方法
2016-12-02 10:21
489 查看
由于研究生工作关系,用到了qt写界面,程序写好了,但是当exe文件拷贝出来到其他电脑上时总是提醒缺少各种dll文件,搞了半天,终于还是把exe文件打包好了,测试可以在室友们的电脑上正常运行。下面把相关步骤大致写一下。
环境:qt5.6(vs版本的),opencv2.49,vs2015
问题:因为qt已经集成到vs里面,而且opencv的环境在vs里面也已配置好,所以为了省事我先是直接打包vs在debug模式下生成的exe,各种出问题,各种缺少dll文件,无奈又在qtcreator中配置了一遍opencv(不过也很简单,几行代码的事儿)。
过程:1.在qtcreator中配置opencv。在 .pro文件中添加如下代码即可:
2.debug模式下运行程序,生成exe。在桌面上新建文件夹,名字最好为英文或数字,将exe拷贝到文件夹中,在文件夹中新建一个txt,里面写上:
3.在刚才的新建文件夹中添加opencv和vs所需要的一些dll文件。最终应该是这样的:
之后就可以打包,可以用Enigma Virtual Box等工具对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进行打包即可。
相关文章推荐
- QT5.8 VS2015生成兼容xp系统的可执行程序
- 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序
- 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序
- 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序
- qt生成的exe可执行程序打包到其他电脑上执行时jpg、gif图片不能正常显示,但png等其他格式可以显示
- 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序 good(从VS2012 update1开始支持xp和c++11)
- VS2015生成程序在别人电脑无法运行 msvcp140.dll 0x000007b 问题处理方法
- Qt--将Qt 动态链接生成的exe及依赖dll打包方法
- Qt程序打包成exe可执行文件图文教程
- QT生成的exe自动拷贝依赖的dll并打包的方法
- Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤
- 给Qt生成的exe执行程序添加版本信息
- VS中生产的QT程序---修改EXE图标方法-<转>
- Qt--将Qt 动态链接生成的exe及依赖dll打包方法
- QT生成的exe自动拷贝依赖的dll并打包的方法
- Qt程序打包成exe可执行文件图文教程
- 生成exe文件,使C++程序脱离VS环境运行的方法
- vc++生成程序不需要.net运行环境的可以执行exe程序的方法
- 将Qt 动态链接生成的exe及依赖dll打包方法
- 使用VS进行打包程序解决生成两个文件的问题(压缩后只有一个exe)