Intel Galileo и C++ REST SDK

Я успешно установил свою плату Intel Galileo (Gen 2) с последним образом Windows IoT (2/12/2014). Я могу загрузить образ без каких-либо проблем, подключиться к нему и запустить приложение "моргание".

Я попытался запустить образец "Касабланки" и следовал инструкциям http://ms-iot.github.io/content/Casablanca.htm. Когда я подключаюсь к плате Galileo и пытаюсь запустить консольное приложение, я ничего не получаю. При попытке отладки из Visual Studio я вижу следующий вывод:

Исключение первого шанса в 0x77CC342A (ntdll.dll) в WindowsIoTDemo.exe: 0xC0000139: точка входа не найдена. Программа "[2016] WindowsIoTDemo.exe" завершила работу с кодом -1073741511 (0xc0000139) "Точка входа не найдена".

Кто-нибудь смог запустить пример приложения Casablanca или использовать C++ REST SDK в проекте "Windows for IoT" вообще?

2 ответа

Ошибка точки входа не означает, что существует зависимая библиотека DLL, в которой отсутствует какой-либо метод. Чтобы включить дополнительные диагностические данные, вы можете изменить раздел реестра GlobalFlag=2 в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager. В моем случае в следующих методах отсутствует UnregisterClassW. Этот метод определен в User32.dll, и если вы сравните User32.dll на вашей рабочей станции Windows с той, что в Galileo, вы увидите, что эти файлы сильно отличаются.

Вы можете узнать в моем блоге, как я решил / обошел проблему http://kardum.net/iot/intel-galileo-windows-application-azure-storage/

У меня была такая же проблема при использовании последней версии Касабланки, 2.3. Для запуска образца я использовал Casablanca 2.2:

  1. Поскольку, похоже, нет способа загрузить исходный код 2.3 из Codeplex, единственный способ, которым я мог видеть, - это использовать 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. Добавьте проект casablanca120.vcxproj из папки Git в свое решение

  5. В своем примере проекта добавьте ссылку на проект DLL Casablanca: Свойства проекта -> Общие свойства -> Ссылки

  6. Добавьте папку заголовка Casablanca 2.2 в ваш пример проекта: Свойства проекта -> Свойства конфигурации -> C/C++ -> Общие. Установите в поле "Дополнительные каталоги включения" значение your-casablanca-folder\ Release \ include.

Вот и все - строить и запускать.

Другие вопросы по тегам