Как стать автором
Обновить

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

Время на прочтение3 мин
Количество просмотров20K
Поддержка разработки мобильных приложений — одно из главных направлений совершенствования 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 (файл qt-opensource-windows-x86-winrt-5.3.0-beta.exe )
Скриншот окна установки с выбором компонентов

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

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

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


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

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

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

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



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


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


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

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



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

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

открыв файл WMAppManifest.xml можно убедиться, что ProductID действительно отсутвует:

но в сборку для эмуляции ProductID записывается, поэтому можно его скопировать и вставить в XML файл:

после этого запуск должен происходить без проблем.

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

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

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

Публикации

Изменить настройки темы

Истории

Работа

QT разработчик
6 вакансий
Swift разработчик
32 вакансии
iOS разработчик
23 вакансии

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн