2

我已使用最新的 Windows IoT 映像 (2/12/2014) 成功设置了我的 Intel Galileo 板(第 2 代)。我可以毫无问题地启动映像,telnet 进入它并正常运行“闪烁”应用程序。

我尝试运行“Casablanca”示例并按照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?

4

2 回答 2

0

我在使用最新版本的 Casablanca 2.3 时遇到了同样的问题。为了运行示例,我使用了 Casablanca 2.2:

  1. 由于似乎没有办法从 Codeplex 下载 2.3 源代码,我能看到的唯一方法是使用 Git:

    git 克隆https://git01.codeplex.com/casablanca

    git 结帐 9cc7758d714b

  2. 此时,您可以按照 Galileo 示例中的说明构建 cpprest120d_2_2.dll 并将其复制到 Galileo。请务必设置“无增强说明”选项。

  3. 按照指示为示例创建一个新项目,不要使用 NuGet 安装 cpprestsdk。这将安装 2.3 版本。相反,您想包含您之前构建的 2.2 版本...

  4. 将 casablanca120.vcxproj 项目从您的 Git 文件夹添加到您的解决方案

  5. 在您的示例项目中,添加对 Casablanca DLL 项目的引用:项目属性 -> 通用属性 -> 引用

  6. 将 Casablanca 2.2 头文件夹添加到您的示例项目:项目属性 -> 配置属性 -> C/C++ -> 常规。将“其他包含目录”字段设置为your-casablanca-folder \Release\include。

就是这样 - 构建并运行。

于 2014-12-11T22:56:23.780 回答
0

未找到入口点错误意味着存在依赖 dll,其中缺少某些方法。要启用更多诊断输出,您可以更改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 下的注册表项 GlobalFlag=2。在我的情况下,以下方法缺少 UnregisterClassW。此方法在 User32.dll 中定义,如果您将工作站 Windows 中的 User32.dll 与 Galileo 中的进行比较,您会发现这些文件非常不同。

您可以在我的博客上找到我如何修复/解决问题http://kardum.net/iot/intel-galileo-windows-application-azure-storage/

于 2015-01-14T08:53:13.000 回答