QT发布release版本
从这里开始看就可以啦~
小结一下~
点击右边的小电脑,选择release,然后点击运行程序。就会在当前目录下形成一个文件夹,如下图3.3,进入后,将release文件夹下的.exe程序复制到另一个单独的文件夹中。
用windeployqt 生成dll文件
Qt 官方开发环境里自带了一个工具:windeployqt.exe。运行一下代码
Cd/d 加上刚刚将.exe程序复制到另一个单独的文件夹的文件夹路径,然后就回在这个目录下生成所有需要的动态链接库。之后再执行命令:windeployqt 加上应用程序名.exe。
3.8.3 注意事项
脱离本地qt开发环境运行应用程序的时候,程序里面一定不要出现自己电脑的绝对路径,因为别人的电脑上没有你的路径,所以建议在程序中获得.exe文件运行的当前路径,在这个路径下再加入你需要的文件夹的名称。同理,在你发布的应用程序的同一个文件下,也需要有你在程序中使用到的文件夹,否则,在其他电脑上运行你的.exe会因为找不到路径而缺少显示或者直接闪退。闪退还有可能是你的程序逻辑有问题,在qt开发环境中运行会直接退出,显示程序异常。
1 .获取应用程序可执行文件所在的目录:
QCoreApplication::applicationDirPath();
QString applicationDirPath;
applicationDirPath = QCoreApplication::applicationDirPath();
qDebug()<<"applicationDirPath"<<applicationDirPath;
2.获取应用程序可执行文件的文件路径:
QCoreApplication::applicationFilePath();
QString applicationFilePath;
applicationFilePath = QCoreApplication::applicationFilePath();
qDebug()<<"applicationFilePath"<<applicationFilePath;
3.获取应用程序当前工作目录的绝对路径:
QString QDir::currentPath() //(这个类似于“./”操作)
QString currentPath;
QDir dir;
currentPath=dir.currentPath();
qDebug()<<"path"<<currentPath;
将相对路径转化为绝对路径:
QDir temDir("../../image.png");
QString filePath = temDir.absolutePath();
这样就获得了一个文件的绝对路径了。
生成图标
参考博客
在线网址将jpg/png转换成.icon格式