сегодня столкнулся с задачей подружить Qt4 c MSVC 2008 для сборки проектов под WinCE (кпк).
после долго допроса гугла, многих неудач и долгой компиляции родилась таки рабочая связка Qt4/C++ + Msvc2008 + WM6 SDK..
и так приступим:
для начала качаем
Microsoft Visual Studio 2008
Qt WM
Qt MSVC 2008
msvc Add-In
Windows Mobile 6 Professional SDK Refresh.msi
последняя версия на данный момент 4.7.0 если на момент порчтения статьи вышла свежая качаем свежую.
затем устанавливаем и распаковываем все что мы укачали с Инета=)
при установке желательно чтобы все компоненты стояли на системном диске (где Windows)
в MSVC исключить половину дистрибутива ибо нам отнего нужен только C++ и все что к нему приявязано(исключаем sql и ему подоюбные)
на системный диск ( у меня С
устанавливаем qt4/msvc в папку
C:/Qt/4.7.0vs
распаковываем qtwm в папку
C:/Qt/4.7.0wm
ставим SDk и Add-In..
затем нам необходимо добавить в среду окружения переменную PATH
правой мышкой на "Мой компьютер"->свойства->дополнительно->переменные среды->системные перменные
создать / изменить PATH
если изменяем, то дописать к содержимому C:/Qt/4.7.0vs/bin;
после чего для гарантированного применения изменений переменной окружения делаем ребут компа..(посути можно и неделать, но на всякий случай стоит)
затем запускаем msvc consol:
вариант 1:
пуск - все программы - microsoft studio 2008 - visual studio tools - Visual Studio 2008 Command Prompt
вариант 2:
запускаем студию - в меню tools - Visual Studio 2008 Command Prompt
открывается CMD студии..
далее выполняемс такие комманды:
vcvarsall.bat - заргужаем пространство имени студии ( если этого не сделать плясать с бубном будете долго пока не подгрузите)
cd C:/Qt/4.7.0wm - переходим в каталог с сырцами для qtmw
configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008 - запускаем сборку конфигурации
процесс занимаем порядка 10-30 минут в зависимости от того какие параметры сборки вы пропишите
bin/checksdk.exe -list - получаем имена установленных SDK
bin/checksdk.exe -sdk “Windows Mobile 6 Professional SDK (ARMV4I)” -script wm6.bat - выбираем нужное SDK
wm6.bat - подгружаем полученные данные о SDK
nmake - запускаем сборку Qt4 для нашей SDK
этот процесс занимает более часа времени,а на ноутбуках может вытянуть на все 4 часа работы... запаситесь фильмом и нервами
nmake clean - удаляем грязь после сборки
и так. что мы теперь имеем:
msvc
Qt4 библиотеку для сборки пректов для компа
Qt4 библиотеку для сборки пректов для КПК
msvc Add-In
запускаем Msvc - меню Qt - настройки добавляем пути до наших библиотек
add default qt/win version
name: QtVS
path: C:/qt/4.7.0vs
add default qt/winCe version
name: QtWM
path: C:/qt/4.7.0wm
наш мутантеГ готов служить нам на радость!!
далее создадим наш первый проект:
file - new - project - Q4 projects - Qt Windows CE Application - вводим имя и жмем ОКе
в выпадающем меню выбираем нашу SDK - Finish
нажимаем F7 для запуска сборки проекта
внимание!! могут быть всякие баги лаги глюки и ошибки при сборке (соберется но не сразу). MSVC 2008 изначатьно не дружит с Qt4
после чего мы получаем наш долгожданный первый ехе'шник
чтобы он грамотно работал на кпк нам надо проделать следущее:
C:/Qt/4.7.0wm/lib скопировать все Dllки к себе на кпк в папку куда будете скидывать релизные версии своего пректа. (beз буквы d в конце имени) (QtCore4,dll -- release, QtCored4.dll -debug)
C:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/armv4i/msvcr90.dll скопировать в туже папку на кпк (msvcr90d.dll - debug)
можно запускать свой проэкт...
если хотите отвязвть свой проект от msvcr*.dll спросите гугл как... я пока сам не пробовал но описание в интернете есть...
Qt*.dll ки нужны как и можули питону, кто умеет пользоваться DEbugger узнает какие именно библиотеки нужны для запуска своего детища на целевом устройстве...
скажу сразу Qt*.dll весят не мало поэтому вкладывать в каждый проэкт по 2-4 dllочки выйдет очень накладно чтобы качать с телефона "Hello Word" софт...
самое интересное для меня в этой сборке что на моем asus p750 (SDK: Pocket PC 2003 (ARMV4) ) запускается только Debug версия с Debug библиотеками Qt и msvcr.. как это объяснить пока не знаю
Дополнение:
конфиг родного сдк для PocketPC 2003 (мой asus p750)
ссылки на учебные пособия
Какие всё-таки плюсы использования Qt для программирования под ВМ ? ;)
Или это просто, так сказать, проба пера?
0 ответить