• 7443阅读
  • 13回复

Qt程序在XP系统上运行不起来 [复制链接]

上一主题 下一主题
离线nautiluslee
 

只看楼主 倒序阅读 楼主  发表于: 2018-05-19
我的Qt程序在XP系统上,安装完之后,双击没有界面跳出来,但是任务管理器中有这个进程,进程内存比较小大概是30%的样子
我加了打印,发现main函数一行都没执行,真是醉了。
不知道大家有没有碰到类似的情况,感觉应该是缺少什么库导致的吧,但是又没任何提示,头疼好几天了。
离线rohgeo

只看该作者 1楼 发表于: 2018-05-19
支持 XP 的长期更新版本 Qt 5.6 x
Qt 5.7.0 也支持 XP,之后的版本好像就不支持 XP 系统了。
离线nautiluslee

只看该作者 2楼 发表于: 2018-05-21
回 rohgeo 的帖子
rohgeo:支持 XP 的长期更新版本 Qt 5.6 x
Qt 5.7.0 也支持 XP,之后的版本好像就不支持 XP 系统了。 (2018-05-19 16:40) 

不好意思忘了说了,我用的是Qt4.8.5,不知道是不是版本太低了?
离线rohgeo

只看该作者 3楼 发表于: 2018-05-21
回 nautiluslee 的帖子
nautiluslee:不好意思忘了说了,我用的是Qt4.8.5,不知道是不是版本太低了? (2018-05-21 10:27) 

不清楚,可能是缺少依赖的dll吧
离线nautiluslee

只看该作者 4楼 发表于: 2018-05-21
回 rohgeo 的帖子
rohgeo:不清楚,可能是缺少依赖的dll吧 (2018-05-21 12:27) 

缺少dll应该会有提示才对,一点提示都没有
离线zhanglyl

只看该作者 5楼 发表于: 2018-05-22
楼上说的没错,你缺依赖的库文件
离线zhanglyl

只看该作者 6楼 发表于: 2018-05-22
你用windeployqt.exe,让qt帮你找吧
或者denpency
离线dannys

只看该作者 7楼 发表于: 2018-05-22
你可以创建一个文件夹,比如在D盘创建名为 test的 文件夹,把你release目录下的exe文件复制过去,打开qt的命令行,使用cd /d d:\test定位到exe文件,输入windeployqt  ****.exe,***是你应用程序的名字,让QT自动帮你把依赖文件复制过去,然后将文件夹打包发到xp系统上去运行看看
离线nautiluslee

只看该作者 8楼 发表于: 2018-05-22
回 zhanglyl 的帖子
zhanglyl:你用windeployqt.exe,让qt帮你找吧
或者denpency (2018-05-22 14:10) 

dependency试过了,没有发现缺少库,我试试windeployqt.exe
离线nautiluslee

只看该作者 9楼 发表于: 2018-05-22
回 dannys 的帖子
dannys:你可以创建一个文件夹,比如在D盘创建名为 test的 文件夹,把你release目录下的exe文件复制过去,打开qt的命令行,使用cd /d d:\test定位到exe文件,输入windeployqt  ****.exe,***是你应用程序的名字,让QT自动帮你把依赖文件复制过去,然后将文件夹打包发到xp系统上去 .. (2018-05-22 15:02) 

我去试试
离线stlcours

只看该作者 10楼 发表于: 2018-05-22
不用试了,是你的显卡驱动没有装好。如果是远程显示,还需要在远程软件里设置如何捕捉显卡输出的参数。
离线nautiluslee

只看该作者 11楼 发表于: 2018-05-23
大家好,通过windbg转储dmp文件分析,程序卡在了PdhAddCounter函数,好像是获取cpu使用率的功能,由于调用的是第三方pdh库,所以没法软件没法修改,只是注释掉了,应该不会产生严重影响。但是不清楚PC为何会限制软件获取cpu数据。
谢谢大家的帮忙。
离线nautiluslee

只看该作者 12楼 发表于: 2018-05-23
回 stlcours 的帖子
stlcours:不用试了,是你的显卡驱动没有装好。如果是远程显示,还需要在远程软件里设置如何捕捉显卡输出的参数。 (2018-05-22 18:58) 

为什么你会说是显卡驱动没装好?
离线stlcours

只看该作者 13楼 发表于: 2018-05-23
其实Qt的底层是依赖OpenGL来显示的,只有部分API转换成了DirectX来显示。然而OpenGL并不是每个系统的标配(而且opengl还分版本),强烈依赖于显卡驱动。不像Native Windows程序,由微软都帮你做好了这一切,所以才没有这个问题。

远程软件里设置捕捉显卡输出的参数,这都是我曾经碰到的问题,依赖于我上面的思想指导,赶紧找一下显卡捕捉参数,设置一下,立刻就行了。
快速回复
限100 字节
 
上一个 下一个