1

可能重复:
为什么在 WIN CE 6.0 中运行简单的控制台应用程序但基于对话框的不运行?

我的设备是iPA280。它有:

主处理器: Marvell PXA-300 (XScale ARM) @ 624 MHz

操作系统: WinCE 6 pro

我正在为此设备开发一个带有 service pack 4 的嵌入式 Visual C++ 4 应用程序。我应该使用哪种配置(ARMV4、ARMV4I、MIPSII 和...)为该设备构建正确的 .EXE 文件?

我已经测试了大多数配置,但我的应用程序只能在模拟器中正确运行,而其他配置中的 .exe 文件在设备上不起作用。一些 .exe 文件具有无效的 EXE 消息,而一些 .exe 文件在没有任何消息或错误或警告的情况下无法运行。

谢谢,

4

2 回答 2

4

ARM v5 向后兼容 ARMv4 指令集,所以我认为问题不在于这里。由于各种其他原因,该程序可能无法在实际设备上启动。

  1. 您可能正在链接到设备上不存在的 lib,例如 aygshell.dll 或 ccrtrtti.lib
  2. 您可能正在导出此 Windows 版本的 core.dll 中不存在的函数序号(为此尝试 ExecutabilityCheck.exe;这个免费的小程序会告诉您缺少哪些函数http://www.hpcfactor.com/downloads/details.asp? r=40A26F4C-E4AC-41C9-81A1-1D81B4C41A0E )
  3. 检查链接器命令行,对于我参与的一个旧项目,它在 windows mobile 4 到 6.5 上运行良好我有这个“/subsystem:windowsce,4.02 /machine:ARM”
于 2012-06-06T08:16:03.827 回答
1

ARM v4 将生成可以运行的代码,但您可能会遇到您使用的 SDK 的问题,并且在您进行调试时会遇到更多问题。我建议迁移到 Visual Studio 2008。(不是 VS2010,因为它不包括本机 Windows 移动开发)。

于 2012-06-06T09:05:39.577 回答