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 而不会崩溃