2

我有一个为 ARMV4 (Pocket PC 2003) 运行的 Windows 移动应用程序

我们有一个新设备 XXXCE6 (ARMV4I),我们需要为它编译应用程序,我们按照以下步骤操作:

  1. 安装设备 SDK
  2. Build-> configurartion manager 从活动解决方案平台中选择 NEW
  3. 对于 New Solutin 平台,我们选择了 XXXCE6 (ARMV4I) ,对于复制设置,我们选择了 Pocket PC 2003 ,并检查 create new projects platform 然后 Clean solutions Rebuild Solution 我得到了这个错误:

coredll.lib(COREDLL.dll):致命错误 LNK1112:模块机器类型“THUMB”与目标机器类型“ARM”冲突

任何的想法?

谢谢

4

2 回答 2

3

添加新配置永远不会奏效——我认为工具团队从未真正尝试过。它在 eVC 3.0 或 4.0 中不起作用,在 Studio 中仍然不起作用。

使用应用程序向导创建一个新项目,选择您的 SDK。完成后,只需使用“添加现有”来添加所有代码。

顺便说一句,您的应用程序可能仍然可以使用旧项目和二进制文件运行。ARMv4i 将毫无问题地运行 ARMv4 二进制文件。唯一的潜在问题是,如果您要从 Pocket PC 迁移到通用 CE 设备。如果应用程序使用任何 Pocket PC 特定的 API,则这些调用将在 CE 下失败。

于 2010-07-23T13:25:26.747 回答
2
  1. 右键单击出现此错误的项目。

  2. 转到项目属性 -> 链接器 -> 命令行

  3. 将 MACHINE:ARM 更改为 MACHINE:THUMB

参考

于 2012-04-03T11:17:15.847 回答