我已经成功地将我的英特尔伽利略主板(第 2 代(设置为最新的 Windows IoT 映像 (2/12/2014(。我可以毫无问题地启动映像,远程登录并正常运行"闪烁"应用程序。
我尝试运行"卡萨布兰卡"示例并按照 http://ms-iot.github.io/content/Casablanca.htm 的说明进行操作。当我远程登录到伽利略板并尝试运行控制台应用程序时,我根本没有输出。尝试从Visual Studio调试时,我可以看到以下输出:
WindowsIoTDemo.exe中0x77CC342A (ntdll.dll( 的首次机会异常:0xC0000139:找不到入口点。程序"[2016] WindowsIoTDemo.exe"已退出,代码为-1073741511(0xc0000139("找不到入口点"。
有没有人能够运行Casablanca示例应用程序,或者在"Windows for IoT"项目中使用C++ REST SDK?
我在使用最新版本的卡萨布兰卡 2.3 时遇到了同样的问题。 为了运行示例,我使用了 Casablanca 2.2:
-
由于似乎没有办法从 Codeplex 下载 2.3 源代码,我能看到的唯一方法是使用 Git:
git 克隆 https://git01.codeplex.com/casablanca
git 结帐 9cc7758d714b
-
此时,您可以按照伽利略示例中的说明构建cpprest120d_2_2.dll并将其复制到伽利略。 请务必设置"无增强说明"选项。
-
按照指示为示例创建新项目,但不要使用 NuGet 安装 cpprestsdk。 这将安装 2.3 版本。 相反,您希望包含之前构建的 2.2 版本...
-
将 Git 文件夹中的 casablanca120.vcxproj 项目添加到解决方案
-
在示例项目中,添加对 Casablanca DLL 项目的引用:项目属性 -> 通用属性 -> 引用
-
将 Casablanca 2.2 标头文件夹添加到示例项目:项目属性 -> 配置属性 -> C/C++ -> 常规。 将"其他包含目录"字段设置为您的卡萨布兰卡文件夹\发布\包含。
就是这样 - 构建和运行。
找不到入口点错误意味着存在一个依赖 dll,其中缺少某些方法。若要启用更多诊断输出,可以在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager"下更改注册表项 GlobalFlag=2。就我而言,以下方法缺少UnregisterClassW。此方法在 User32 中定义.dll如果将工作站 Windows 中的 User32.dll 与 Galileo 中的 User32 进行比较,您会发现这些文件几乎不同。
您可以在我的博客上找到我如何修复/解决问题 http://kardum.net/iot/intel-galileo-windows-application-azure-storage/