Я успешно установил свою плату 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.3. Для запуска образца я использовал Casablanca 2.2:
Поскольку, похоже, нет способа загрузить исходный код 2.3 из Codeplex, единственный способ, которым я мог видеть, — это использовать Git:
мерзкий клон https://git01.codeplex.com/casablanca
git checkout 9cc7758d714b
На этом этапе вы можете следовать инструкциям в образце Galileo, чтобы создать cpprest120d_2_2.dll и скопировать его в Galileo. Обязательно установите параметр «Нет расширенных инструкций».
Создайте новый проект для образца в соответствии с указаниями, но не используйте NuGet для установки cpprestsdk. Это установит версию 2.3. Вместо этого вы хотите включить версию 2.2, которую вы создали ранее …
Добавьте проект casablanca120.vcxproj из папки Git в свое решение
В вашем примере проекта добавьте ссылку на проект DLL Casablanca: Свойства проекта -> Общие свойства -> Ссылки
Добавьте папку заголовка Casablanca 2.2 в ваш пример проекта: Свойства проекта -> Свойства конфигурации -> C / C ++ -> Общие. Установите в поле «Дополнительные каталоги включения» значение ваш-Casablanca-папка\ Release \ включить.
Вот и все — строить и запускать.
Ошибка точки входа не означает, что существует зависимая библиотека 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/