【问题标题】:Intel Galileo and C++ REST SDK英特尔 Galileo 和 C++ REST SDK
【发布时间】:2014-12-03 10:54:56
【问题描述】:

我已使用最新的 Windows IoT 映像(2014 年 2 月 12 日)成功设置了我的英特尔 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?

【问题讨论】:

  • 你是在没有 SSE2 的情况下构建的库吗?
  • 是的,我按照示例文档中的说明进行了操作。

标签: c++ windows iot intel-galileo windowsondevices


【解决方案1】:

我在使用最新版本的 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。

就是这样 - 构建并运行。

【讨论】:

    【解决方案2】:

    Entry point not found 错误意味着存在依赖 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多