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上播放音乐
答案 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)));
}