使用的是VS2013+QT5.4开发界面
1、在创建好的工程项目中选择Resource Files下的 xxx.qrc文件,双击qrc文件出现一个对话框
2、在创建的项目中的Resource文件夹下放入要打包发布的ico文件。
3、点击Add下拉菜单中的Add Files选项,选中 .ico 文件添加进去。
4、点击.ui文件在窗口的右下角找到icon这个选项,点击下拉菜单中的“选择资源”选项。(此时你操作对象的是窗口,添加的ico文件就是窗口的左上角的图标文件,如果你操作对象是.ui文件中的某个控件,选择的ico文件就是控件的标志。)
弹窗界面如下所示。
5、
6、点击上图中的红色部分图标,在弹出的对话框中选择 .qrc 文件即可。会出现如下的界面显示,这是自己之前添加的ico资源文件。
7、
8、
选择自己需要的图标,点击ok即可。
EXE文件打包发布过程:
1、在Release模式下,编译之后会在…/x64/Release文件夹下形成初始的exe文件和一些辅助的dll文件,此时需要将Release文件夹中的所有文件都拷贝出来;
2、新建一个文件夹,命名随便,最好是英文,不包含中文字符,将Release文件夹中的所有文件都复制进来;
此文件夹下的文件还不是所有需要打包的文件,还有一些x64位的dll文件和lib文件,而且在opencv和Qt文件夹下,有很多重名的文件,但是它们的版本不同,有些事32位编程中需要的,有些是64位变成中需要的,一个都不能弄错,否则打包发布的软件移植到其他电脑就会报错,因为其他电脑没有配置我们的程序环境变量,而打包的文件中使用了错误的文件,就无法执行exe。(很重要)
此时要注意的是选择复制的文件的路径,哪一个文件才是我们需要的:
找opencv 的64位文件是在G:\OpenCV\opencv\build\x64\vc12\bin这个文件夹下找opencv_core249.dll、opencv_highgui249.dll、opencv_imgproc249.dll文件;
QT的64位文件是在G:\Qt\5.4\msvc2013_64\bin文件夹中找Qt5Core.dll、Qt5Designer.dll、Qt5Gui.dll等文件
VS的64位文件是在G:\VisualStudio2013\Common7\IDE\Remote Debugger\x64文件夹下msvcp120.dll、msvcr120.dll文件。
记住千万不能直接搜索整个盘去找文件,有很多重名的文件,如果放错了一个dll文件都会报错。
将Qt5\5.4\msvc2013\plugins\platforms目录复制到exe所在文件夹即可,是缺少plugins文件夹下的platforms和imageformats两个文件夹内的dll,但是一定不要直接把这两个文件夹下的dll直接扔到.exe同级目录下,而是要把这两个文件夹直接扔到.exe同级目录下
3、下载虚拟打包软件:虚拟文件打包工具(Enigma Virtual Box) 下载地址:虚拟文件打包工具(Enigma Virtual Box)
4、打开QT开始菜单中的QT5.4 64-bit for Desktop打开命令行
然后切换到上面第二步新建的新建文件夹下:cd /d 新文件夹路径
再输入:windeployqt exe文件名称
此时要注意,还有一部分x64文件还没有加入到该文件夹下,需要手动添加,即上面第2步提到的文件:
将上面的x64文件复制到同一文件夹下,才能进行打包压缩:
打包压缩需要是用另一个软件
打开之后如下图所示操作:
显示如下图:
完成之后会在新建文件夹下面生成一个新的exe文件,命名规则显示为:xxxx_boxed.exe
上面的xxxx_boxed.exe文件可以单独拷贝至其他机器上面运行执行软件功能,不再需要配置环境变量了。