qt 上 Win CE 5.0 崩溃

Posted

技术标签:

【中文标题】qt 上 Win CE 5.0 崩溃【英文标题】:qt on Win CE 5.0 crash 【发布时间】:2010-01-14 14:45:27 【问题描述】:

大家好,

这是我第一次在 Windows CE 上使用 Qt,但遇到了问题。 也许有人可以帮助我。

我将描述我的设置。我正在使用 XP 和 Visual Studio 2005 和 Qt 插件版本 1.1.2。我下载了 Windows CE 的 Qt 源代码并遵循 这些说明 (http://doc.trolltech.com/4.4/install-wince.html) 构建指令 CE 库。

然后我使用 Visual Studio 创建了一个最小的 Qt Windows CE 应用。该程序在 CE 模拟器中运行良好,但是一旦我尝试 将它部署到它崩溃并显示以下消息的设备上:

加载模块:qt_ce_3.exe 加载模块:QtGui4.dll 加载模块:msvcr80.dll 加载模块:QtCore4.dll 加载模块:CEShell.DLL 加载模块:OLEAUT32.dll 加载模块:commctrl.dll.0409.MUI 加载模块:commctrl.dll 加载模块:aygshell.dll 加载模块:WS2.dll 加载模块:WINSOCK.dll 加载模块:coredll.dll.0409.MUI 加载模块:ossvcs.dll 加载模块:ole32.dll 加载模块:coredll.dll 加载模块:MMTimer.dll 数据中止:线程=8fb09a40 Proc=8c4ecea0 'qt_ce_3.exe' AKY=00040001 PC=012a80b0(qtcore4.dll+0x000680b0) RA=012a8168(qtcore4.dll+0x00068168) BVA=​​676e4574 FSR=000000f5 qt_ce_3.exe 中 0x012a80b0 处未处理的异常:0xC0000005:访问 违规读取位置0x676e4574。

我在不同制造商的两台设备上试了一下,结果 是一样的。调试版本在其中一个上工作,内存不足 另一个。

有人知道这可能是什么吗?

提前致谢, 迈克尔

【问题讨论】:

【参考方案1】:

我在自定义设备上的 Windows CE 5.0 上使用 Qt 4.5 并且遇到了一些奇怪的崩溃(Qt dll 和其他中的访问冲突)。我将向您描述其中的一些... 第一个问题的原因(甚至 qt 样本都不想运行)是设备上的 8 位颜色模式,通过调整视频驱动程序设置解决了这个问题。第二个问题的原因是内存不足(在我的 qt 构建配置中,只有 Qt dll 花费 > 10 Mb 的 RAM),这通过减少 Windows CE 映像和驱动程序大小得到了解决。 有时在嵌入式设备上很难找到问题的根源,但我建议您先在台式机上编译\运行您的示例程序,检查它们是否存在逻辑错误,然后才开始在设备端搜索错误...

【讨论】:

非常感谢。问题是它是一个微不足道的程序。我只是使用 Qt Visual Studio 插件创建了最简单的应用程序(您可以选择创建一个 Win CE 应用程序),因此问题不在于我的逻辑。但是,我会尝试使用您的建议来解决我的问题。迈克尔 你是用编译器设置做的吗?【参考方案2】:

非常感谢。

问题是它是一个微不足道的程序。我只是使用 Qt Visual Studio 插件创建了最简单的应用程序(您可以选择创建一个 Win CE 应用程序),因此问题不在于我的逻辑。

不过,我会尝试使用您的建议来解决我的问题。

迈克尔

【讨论】:

以上是关于qt 上 Win CE 5.0 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 5.0 上使用 NSURLIsExcludedFromBackupKey 而不会崩溃

使用 Qt 的程序在另一台计算机上执行时崩溃

尝试在 android 5.0 上使用 RecyclerView 时应用程序崩溃

Android Cordova 5.0+ 相机崩溃

Qt串口程序在另一个系统上运行时崩溃

安装程序在 ubuntu 上安装 qt 和 qt creator 时崩溃