QML动态Release后程序进程还在却无法显示(mingw版本)

本文介绍了一种在Win10 32位平台使用Qt 5.7.1及QtQuickControl2.0版本时遇到的应用无法正常显示的问题及其解决方案。通过替换不同路径下的Qt5Core.dll文件,成功解决了应用程序进程存在但无法显示的问题。

qt-opensource-windows-x86-mingw530-5.7.1.exe

Win10 32位平台

使用Qt Quick Control 2.0 版本

用windeployqt打包后,出现进程中存在,但无法显示的问题。

经检查,在Qt目录里有两个Qt5Core.dll

1、C:\Qt\Qt5.7.1\5.7\mingw53_32\bin

2、C:\Qt\Qt5.7.1\Tools\QtCreator\bin

这两个文件大小不一致,再Release后,用mingw53_32下的dll覆盖到打包目录下,就可以运行了,



{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { //在当前项目目录创建build文件夹 "label": "mkdir", //任务名称 "type": "shell", //任务类型,定义任务是被作为进程运行还是在 shell 中作为命令运行。 "options": { "cwd": "${workspaceFolder}" //已执行程序或脚本的当前工作目录,设置当前项目文件夹 }, "command": "mkdir", //命令 "args": [ //命令后面跟的参数 "-Force", "build" ] }, { "label": "qmake-debug", "type": "shell", "options": { "cwd": "${workspaceFolder}/build" //进入build目录 }, "command": "qmake", //qmake命令,这里没用完整路径,是因为配置到环境变量了 C:/Qt/5.15.2/mingw81_64/bin/qmake.exe "args": [ //跟的参数是不是很熟悉,就是上面分析出来的Qt Creator执行流程 "../${workspaceFolderBasename}.pro", //在build目录上一级哦 "-spec", "win32-g++", "\"CONFIG+=debug\"", "\"CONFIG+=console\"" ], "dependsOn": [ //这是本条命令依赖的前置条件,就是上面创建build文件夹的task,直接执行本task会自动先调用依赖的task "mkdir" //其实可以手动执行一次,后面不用每次都执行创建目录的操作 ] }, { "label": "make-debug", "type": "shell", "options": { "cwd": "${workspaceFolder}/build" }, "command": "mingw32-make", //MinGW这个也配置在环境变量了,不用写完整路径了 C:/Qt/Tools/mingw810_64/bin/mingw32-make.exe "args": [ "-f", "Makefile.Debug", //-f 选择makefile,这是qmake编译出来的 "-j7" //这个参数都知道吧,编译用的线程数量 ], "dependsOn": [ "qmake-debug" ] }, { "label": "run-debug", "type": "process", //运行就不能选择shell执行了,要选择process "options": { "cwd": "${workspaceFolder}/build/debug" //没在.pro配置DESTDIR,会生成到build目录下面对应目录 }, "command": "${workspaceFolderBasename}.exe", //执行的exe名字,一般当前项目文件夹的名称,自定义可以写其他的 "dependsOn": [ "make-debug" ] }, ///////////////////////////////////////////////////////////////////////////////////////////////////// { "label": "qmake-release", "type": "shell", "options": { "cwd": "${workspaceFolder}/build" }, "command": "qmake", "args": [ //注意release跟debug参数的差异 "../${workspaceFolderBasename}.pro", "-spec", "win32-g++", "\"CONFIG+=qtquickcompiler\"" ], "dependsOn": [ // "mkdir" //不用每次都创建吧 ] }, { "label": "make-release", "type": "shell", "options": { "cwd": "${workspaceFolder}/build" }, "command": "mingw32-make", "args": [ "-f", "Makefile.Release", //注意release跟debug参数的差异 "-j7" ], "dependsOn": [ "qmake-release" ] }, { "label": "run-release", "type": "process", "options": { "cwd": "${workspaceFolder}/build/release" }, "command": "${workspaceFolderBasename}.exe", "dependsOn": [ "make-release" ] }, { "label": "clean", "type": "shell", "options": { "cwd": "${workspaceFolder}/build" }, "command": "mingw32-make", "args": [ "clean" ] } ] } 解释一下
最新发布
11-11
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值