Pers.narod.ru. Тексты. Коммуникатор X500+. Программирование на C++ для устройств с Windows Mobile 5/6

Мы хотим писать программы на C++, работающие на устройствах с Windows Mobile 6 или 5. При этом хотелось бы пользоваться готовыми интерфейсными компонентами из Windows Template Library (WTL), а не делать все "руками" с помощью функций Windows API. Базовая среда, которая нам понадобится - Microsoft Visual Studio 2005 Professional (она же версия 8, важно иметь именно Pro, профессиональную версию!) Достать Visual Studio 2008 Professional пока проблематично, работа ее может быть неустойчивой, а бесплатную версию Microsoft Visual Studio 2008 Express качать с сайта Microsoft не советую - не оберетесь проблем. Всего нам предстоит установить в нужном порядке и настроить 7-8 приложений, статья дает проверенный рецепт как сделать, чтобы все заработало :)

Дистрибутив Visual Studio имеет размер порядка 1,3 Гб, если Ваша VS 2005 не ставится с диска DVD (сообщение "Insert next disk" или "Insert disk 2"), просто скопируйте содержимое папки с дистрибутивом студии на жесткий диск, отключите все CD и DVD устройства в Диспетчере устройств и попробуйте установить еше раз. Возможно, то же самое потребуется сделать перед установкой MSDN Library for Visual Studio 2005 на шаге 2, дистрибутив MSDN имеет размер около 1,7 Гб. Посмотрите http://www.microsoft.com/windowsmobile/developers/default.mspx - это страница поддержки девелоперов под WM.

1. Идем в папку c дистрибутивом VS, запускаем autorun.exe, щелкаем ссылку Install:
Microsoft Visual Studio 2005

После обычных шагов по вводу ключа и имени пользователя (используйте только латиницу в поле Name для этой и последуюших программ, лучше везде одно имя!), выбираем Custom установку и включаем следующие компоненты:

2. Из папки с дистрибутивом MSDN также запускаем файл autorun.exe, выбираем установку Custom, ставим следующие компоненты:

3. Если пришлось отключать CD/DVD-приводы, их можно снова задействовать. Ставим Microsoft XML Parser (MSXML) версии 3, даже если на компьютере есть версия 4 или другая более свежая. Дистрибутив MSXML 3 маленький и весит около 700 Кб: скачать архив ZIP с установщиком. После установки MSXML обязательно перезагружаемся.

4. Проверяем, что все в порядке, для чего запускаем установленный VS 2005. Заодно студия пропишет в реестре все, что нужно при первом запуске. Выходим из студии. Следующая нужная программа - Microsoft Device Emulator версии 3, по слову "эмулятор", думаю, понятно для чего он нужен. Дистрибутив имеет размер примерно 1,2 Мб: скачать установщик в архиве ZIP.

5. Ставим Service Pack 1 для Visual Studio 8.0. Файл с сервис-паком легко найти по имени VS80sp1-KB926601-X86-ENU.exe, размер его немаленький, около 450 Мб. К этому моменту на машине должен быть установлен ActiveSync 4.5, думаю, он у вас есть, раз есть коммуникатор с Windows Mobile. Ставится SP1 довольно долго, даже если отключить сеть и антивирус. Просто дождитесь окончания этого процесса.

6. Перезагружаемся и ставим Windows Mobile 6 SDK (Файл WindowsMobile6ProSDK.msi имеет размер порядка 400 Мб: скачать с этой страницы файл WindowsMobile6ProSDK.msi). На экране Prerequisites обратите внимание, что SDK "увидел" установленные студию и ActiveSync:
Windows Mobile 6 Pro SDK

Microsoft .NET Compact Framework 2.0 SP1, если его почему-либо нет в комплекте, можно взять отдельно с Микрософта: прямая ссылка, в конце его установки потребуется подключить к компьютеру мобильный девайс.

7. Теперь, наконец, можно ставить собственно WTL. Файл WTL версии 8.0 WTL80_sf.exe имеет размер около 1 Мб: скачать здесь, установщик в архиве ZIP, скачать со страницы проекта. После того, как Вы развернули на жесткий диск архив с WTL, скопируйте его папку целиком в папку Microsoft Visual Studio 8 (например, при разворачивании в c:\WTL80 полностью копируем эту папку как "C:\Program Files\Microsoft Visual Studio 8\WTL"). В новой папке есть 3 Wizard'а в папках с именами на App, в каждой из папок Визарда выполняем файл setup80.js.

8. Весь софт поставлен, остается настроить среду. Запускаем Visual Studio, идем Tools, Options, открываем список Projects and Solutions, далее VC++ Directories. Справа выбираем Show directories for: Include Files, для всех платформ из списка слева добавляем к имеющимся путям путь $(VCInstallDir)wtl\include и ставим его ниже в списке, чем путь к atlmfc\include, можно последним в списке! Если с переменной $(VCInstallDir) возникают какие-либо проблемы, просто пишем абсолютный путь C:\Program Files\Microsoft Visual Studio 8\WTL\include. Давайте на всякий случай, еще раз перезагрузимся и попробуем скомпилировать простой проект.

9. В студии говорим File, New, Project, выбираем тип проекта WTL, а template - ATL/WTL AppWizard for Windows CE, даем проекту имя и определяем папку для его размещения:
Windows CE Project

В мастере добавляем к проекту нужные платформы (возможны PocketPC 2003, Smartphone 2003, Windows Mobile 6 Professional SDK, мне достаточно последней из них), на следующем шаге говорим, что нам нужно однодокументное приложение (SDI Application) и включаем опцию Generate .CPP Files, которую будем включать всегда, на последнем шаге определяем тип окна. В принципе, это все. Проект сгенерирован, можно нажать Ctrl+F5 и после сборки увидеть работающую программу в выбранном эмуляторе. Выбор эмулятора находится под стандартной панелью инструментов. Кстати, если эмулятор вдруг не идет, можно сделать следующее:

10. Если мы делали проект как на рисунке выше, найти его исполняемый файл Test.exe можно в папке C:\Temp\Test\Test\Windows Mobile 6 Professional SDK (ARMV4I)\Debug\. У меня он прекрасно запустился на коммуникаторе. Остается пожелать Вам творческих успехов и интересных программ под Windows Mobile :)

© PerS, Figaro, 2008

Рейтинг@Mail.ru
вверх гостевая; E-mail