在 Windows Mobile 6.1 设备上运行 directx SDK 示例
Posted
技术标签:
【中文标题】在 Windows Mobile 6.1 设备上运行 directx SDK 示例【英文标题】:Running directx SDK samples on a Windows Mobile 6.1 device 【发布时间】:2010-03-26 23:36:21 【问题描述】:我尝试在三星 Omnia 和模拟器上运行来自 ..\Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\directx\d3dm\tutorials 的 directx 示例,但由于部署,它不起作用错误。 我正在使用 Microsoft Visual Studio 2008 并安装了 Windows Mobile SDK Standard 和 Professional refresh。 设备已正确插入并设置为主动同步(我知道这一点是因为其他示例工作,创建 Win32 智能设备应用程序并运行它工作)。 当我尝试运行 directx 示例应用程序时,它编译时没有错误,但出现以下消息:
“出现部署错误,继续?是/否”出现
如果我手动将应用程序从调试文件夹复制到设备并从那里运行它,它可以工作。
如果我在模拟器上尝试会出现相同的部署错误消息。其他应用程序正在成功部署。
有什么方法可以使部署工作?也许我需要设置一个不起眼的选项...
我所做的是: 将移动设备连接到 PC, 打开 Visual Studio 2008, 打开一个directx示例项目, 单击运行(在调试或发布模式下)。
【问题讨论】:
通常当“there were deploy...”消息出现时,您可以在输出窗口中看到详细的日志。你能看到部署错误是什么并更新问题吗? 对不起,我忘了把它放在那里:1>----- 部署开始:项目:tut01_createdevice,配置:调试 Windows Mobile 6 Professional SDK (ARMV4I) ------ 1 >系统找不到指定的文件。 1> ==========部署:0成功,1失败,0跳过==========不幸的是我不知道部署机制,我不知道它是什么文件谈论。我会做更多的研究。 在 "Project->Properties->Configuration Properties->Deployment" 然后 "General->Additional files" 下面是 msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|% CSIDL_WINDOWS%|0;我删除了整个文本并重试。部署现在正在运行。我只为第一个 directx 样本尝试过 谁能告诉我 $(BINDIR) 和 $(INSTRUCTIONSET) 宏扩展成什么?我在任何地方都找不到这个。 【参考方案1】:部署的问题是找不到文件msvcr80.dll
。
它在部署选项中指定为附加文件"Project->Properties->Configuration Properties->Deployment"
然后"General->Additional files"
与路径msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_WINDOWS%|0;
删除它会使部署成功。我只在 Windows Mobile 6.1 设备和 WM6.1/WM6 仿真器上使用 D3DM 参考驱动程序进行了测试。
$(BINDIR)\$(INSTRUCTIONSET)
指向哪里。
另外我不知道为什么 msvcr80.dll 在实际上不需要的附加文件中。
在 ARM cpu 上真的有为 Windows Mobile 平台编译的 msvcr80.dll 吗?
【讨论】:
【参考方案2】:在进行了一些低级 Sysinternals 调试后,我能够解决此问题。它试图将 NETCFv35.Messages.EN.cab 部署到设备上,在我的情况下,由于某种原因它被删除了。重新安装 .NET CF 为我解决了这个问题。 Wish VS 2008 说缺少什么文件而不是通用消息。希望这对你也有帮助。
【讨论】:
以上是关于在 Windows Mobile 6.1 设备上运行 directx SDK 示例的主要内容,如果未能解决你的问题,请参考以下文章
Windows Mobile 6.1 + SQLite:无法加载类型“System.Data.SQLite.SQLiteConnection”
将 Windows Mobile 6.1 应用程序转换为 Android
为 Windows Mobile 6.1 选项编写应用程序? [关闭]
从 6.1 迁移到 7.1 后,Iphone build 未连接到 Mobile First Server