- PVSM.RU - https://www.pvsm.ru -

Qt теперь и на Windows Phone

Qt теперь и на Windows PhoneПоддержка разработки мобильных приложений — одно из главных направлений совершенствования Qt. Готовится к выпуску Qt 5.3 и QtCreator 3.1, которые благодаря поддержке WinRT позволят запускать Qt-приложения на новых платформах. Но не дожидаясь релиза уже сейчас можно скачать Qt 5.3 beta и собрать Ваши приложения для мобильных платформ Windows. Новые инструменты позволяют запускать приложения как в эмуляторе, так и непосредственно на подключенном устройстве. Благодаря этому сегодня автор статьи (незнакомый ранее с разработкой для мобильных устройств) собрал первое в своей жизни (пусть и из папки demos) мобильное приложение. Этот факт может служить доводом в пользу разработки приложений под Windows Phone с использованием инструментария Qt. Статья, по моему скромному мнению, будет интересна как опытным разработчикам Windows Phone приложений, так и программистам, которые ранее разрабатывали только Desktop приложения с использованием Qt.

Установка необходимого ПО

1. Прежде всего необходимо скачать и установить Qt 5.3 beta для WinRT [1] (файл qt-opensource-windows-x86-winrt-5.3.0-beta.exe )

Скриншот окна установки с выбором компонентов

Qt теперь и на Windows Phone

2. Если у вас еще не установлен Microsoft Visual Studio 2012 или 2013, то необходимо будет скачать и установить одну из этих версий, для описываемых в статье целей подходит как Microsoft Visual Studio Express 2013 для Windows Desktop [2] так и Microsoft Visual Studio Express 2012 для Windows Desktop [3].
Примечание: если вы устанавливаете VS2013 Professional или Ultimate, то не забудьте в опциях установки включить поддержку разработки Windows Phone приложений.

Скриншот окна установки MSVS 2013 Express

Qt теперь и на Windows Phone

3. Для Visual Studio Express также понадобится с страницы загрузок Windows Phone SDK [4] скачать и установить необходимый Вам SDK (так как у меня под рукой оказалась Nokia Lumia 920 c Windows 8 на борту, то я установил SDK 8.0, который также поддерживает Windows Phone 7.5).
Вроде все готово, можно запускать QtCreator.

Новое в Qt 5.3 beta и QtCreator 3.1 RC1 для мобильных Windows платформ

Прежде всего это новый плагин WinRT (на всякий случай проверьте, активирован ли он):

Qt теперь и на Windows Phone

Теперь при создании нового проекта в ниспадающем списке фильтров шаблонов появляются новые строчки:

Qt теперь и на Windows Phone

Создавая проект теперь можно выбрать дополнительные типы сборок (на рисунке не указана WinRT сборка, так как в данной статье она не рассматривается):

Qt теперь и на Windows Phone

Запустив на выполнение первый тип сборки приложение сразу будет отправлено на подключенное Windows Phone устройство, как показано на видео:

Второй тип сборки (как видно из названия) отправляет приложение на эмулятор:

Qt теперь и на Windows Phone

Возможные проблемы и их устранение

Если ряд необходимых компонентов, перечисленных выше, отсутствует, то вам об этом сообщит вот такой красный предупреждающий кружок в IDE QtCreator:

Qt теперь и на Windows Phone

Но помимо этого существует и рад других возможных проблем, о которых стоит упомянуть (и с которыми автор столкнулся лично).
Во-первых, понадобится включить Hyper-V (если он еще не включен). Руководство: How to enable Hyper-V for the emulator for Windows Phone 8 [5].
Второе, с чем может столкнуться разработчик, — это 2 сообщения об ошибках при запуске эмулятора:

Qt теперь и на Windows Phone
Qt теперь и на Windows Phone

Обычно у разработчика установлена не одна программа виртуализации (на подобии VMWare или Virtual Box). Так как эмулятор также использует сетевой интерфейс, то может возникать конфликт с созданными этими программами сетевыми интерфейсами. Проблема обычно решается удалением этих программ или более тонко, используя программу «Диспетчер Hyper-V», как описано в руководстве Troubleshooting the Windows Phone 8 Emulator [6].

Третья потенциальная проблема связана уже непосредственно с Qt. Запуская сборку для устройства может появиться такое сообщение:

Qt теперь и на Windows Phone

открыв файл WMAppManifest.xml можно убедиться, что ProductID действительно отсутвует:
Qt теперь и на Windows Phone
но в сборку для эмуляции ProductID записывается, поэтому можно его скопировать и вставить в XML файл:
Qt теперь и на Windows Phone
после этого запуск должен происходить без проблем.

Я не совсем уверен, нужно ли это для успешного запуска приложения на устройстве, но перед сборкой я зарегистрировал устройство (Nokia Lumia 920) с помощью Windows Phone Developer Registration

Qt теперь и на Windows Phone

Также следует помнить, что во время развертывания приложения смартфон должен быть в «активном» режиме, а не в режиме блокировки.

P.S. а вот так выглядит иконка Qt-приложения в Windows Phone. Всем удачных сборок!

Qt теперь и на Windows Phone

Автор: snasoft

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/windows-phone/58534

Ссылки в тексте:

[1] Qt 5.3 beta для WinRT: http://download.qt-project.org/development_releases/qt/5.3/5.3.0-beta/

[2] Microsoft Visual Studio Express 2013 для Windows Desktop: http://www.microsoft.com/ru-ru/download/details.aspx?id=40787

[3] Microsoft Visual Studio Express 2012 для Windows Desktop: http://www.microsoft.com/ru-ru/download/details.aspx?id=34673

[4] Windows Phone SDK: https://dev.windowsphone.com/en-us/downloadsdk

[5] How to enable Hyper-V for the emulator for Windows Phone 8: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj863509%28v=vs.105%29.aspx

[6] Troubleshooting the Windows Phone 8 Emulator: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681694%28v=vs.105%29.aspx

[7] Источник: http://habrahabr.ru/post/218419/