在qt5winextras.dll Windows XP 32中退出时崩溃

时间:2015-03-24 08:39:05

标签: c++ windows qt qt5

GUI小部件(c ++)应用程序使用Windows 8.1 x64上最新的Qt Creator,Qt 5.4.1 MinGW SDK(qt-opensource-windows-x86-mingw491_opengl-5.4.1.exe)构建

PRO文件:

QT       += core gui network winextras

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

一切都是默认设置,没有特殊设置。应用程序在Windows XP x86 SP3上运行并运行,但在关闭时会崩溃,从而发出一个通用窗口"发送错误到Windows"对话。

Windows日志显示崩溃发生在qt5winextras.dll版本5.4.1.0地址0x00008009

不会在Windows 7和8.1上崩溃

这可能是Qt的错误吗?如何解决这个问题?

更新

我的代码与musicplayer示例类似。我编写了音乐播放器Qt的例子,它也崩溃了。

  

Qt5.4.1 \实例\ Qt的5.4 \ winextras \ musicplayer

此外,音乐播放器无法在Windows XP 32上播放音乐

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。

我认为只有当windows版本大于XP时才应该执行代码(与winexras相关)。 我做了这样的事情:

if(QSysInfo::windowsVersion >= QSysInfo::WV_VISTA)
{ 
    taskbarButton = new QWinTaskbarButton(this);
    taskbarButton->setWindow(windowHandle());

    taskbarProgress = taskbarButton->progress();
    connect(positionSlider, SIGNAL(valueChanged(int)), taskbarProgress, SLOT(setValue(int)));
    connect(positionSlider, SIGNAL(rangeChanged(int,int)), taskbarProgress, SLOT(setRange(int,int)));
}