英特尔Galileo和C ++ REST SDK

时间:2014-12-03 10:54:57

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

我已成功使用最新的Windows IoT映像设置了我的英特尔Galileo主板(第2代)(2014年2月2日)。我可以毫无问题地启动图像,远程登录并运行“闪烁”应用程序。

我试图运行'Casablanca'样本并按照http://ms-iot.github.io/content/Casablanca.htm的说明进行操作。当我远程登录Galileo板并尝试运行控制台应用程序时,我根本没有输出。尝试从Visual Studio进行调试时,我可以看到以下输出:

WindowsIoTDemo.exe中0x77CC342A(ntdll.dll)的第一次机会异常:0xC0000139:找不到入口点。 程序'[2016] WindowsIoTDemo.exe'已退出,代码为-1073741511(0xc0000139)'找不到入口点'。

是否有人能够运行Casablanca示例应用程序,或者在“Windows for IoT”项目中使用C ++ REST SDK?

2 个答案:

答案 0 :(得分:0)

使用最新版本的卡萨布兰卡时,我遇到了同样的问题,2.3。为了运行样本,我使用了卡萨布兰卡2.2:

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

    git clone https://git01.codeplex.com/casablanca

    git checkout 9cc7758d714b

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

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

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

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

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

  7. 就是这样 - 构建并运行。

答案 1 :(得分:0)

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

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