Russian Qt Forum

Qt => Qt Embedded => Тема начата: o_leg от Июль 21, 2009, 08:59



Название: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: o_leg от Июль 21, 2009, 08:59
Приветствую. Я полный новичек, поэтому сорри если что.
Скачал qt-embedded-wince-opensource-src-4.5.2
На компе две студии 2003 и 2008, Mobile SDK 5.0 R2
Запустил конфигуратор

configure -static -platform win32-msvc2008 -xplatform wincewm50pocket-msvc2008

Запустил установку путей

setcepaths wincewm50pocket-msvc2008

Запустил qmake

Получил что-то, ошибок не было.
Копирую любой пример на КПК, пытаюсь запустить - ошибка
Не удается открыть файл ... "Или он не подписан достоверным сертификатом, или не удается найти один из его компонентов. и тд"
Рядом с исполняемым модулем скопировал qtgui4.dll и qtcore4.dll
Я неправильно собрал QT или реально не хватает чего-то?
Запускал, например, textedit, tabdialog, styledemo, чо идут в дистрибутиве. КПК Asus p535 Windows 6.1
Спасибо


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: pastor от Июль 21, 2009, 09:53
Посмотри по зависимостям чего не хватает (как минимум библиотек MSVC)

//upd

А откуда взялись qtgui4.dll и qtcore4.dll при статической сборке?


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: o_leg от Июль 21, 2009, 10:29
Ага, спасибо. Не хватало msvcr90.dll, точнее я не ту библиотеку скопировал.
qtcore4.dll и qtgui4.dll остались от нестатической сборки qt. То есть старые дрожжи валялись на компе.
Еще раз спасибо.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 11, 2011, 16:50
Ага, спасибо. Не хватало msvcr90.dll, точнее я не ту библиотеку скопировал.
qtcore4.dll и qtgui4.dll остались от нестатической сборки qt. То есть старые дрожжи валялись на компе.
Еще раз спасибо.

не подскажете почему именно msvcr90.dll, а не msvcr80.dll и где их взять??


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: ufna от Февраль 11, 2011, 21:59

не подскажете почему именно msvcr90.dll, а не msvcr80.dll и где их взять??

потому что 80 - это для 2005, 90 - для 2008

а взять - я не помню, каждый раз поиском по диску нахожу если рядом нету под рукой :)


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 15, 2011, 09:18
у меня 2005, я искала по диску msvcr80.dll и нашла кучу файлов с этим названием в разных местах. взяла из папки
c:\ Program Files (x86)\Microsoft Visual Studio 8\VC\ce\DLL\armv4, положила в папку с exe шником на комуникаторе, но примеры так и не запустились


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: Пантер от Февраль 15, 2011, 10:03
Нужно установить vcredist, взять можно с сайта некрософта.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 15, 2011, 19:04
Нужно установить vcredist, взять можно с сайта некрософта.

vcredist_x86.exe на кпк не запускается


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 16, 2011, 09:25
может проблема в том что я скомпилировала проект под windows mobile 6.0 а на кпк стоит windows mobile 5.0, может поэтому не запускается


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: santaclaus от Февраль 16, 2011, 09:32
может проблема в том что я скомпилировала проект под windows mobile 6.0 а на кпк стоит windows mobile 5.0, может поэтому не запускается

думаю проблема не в этом.
Обратите внимание на то что вы собираете, Дебаг или Релиз.
DLL берем: C:\Qt\qt-4.7.1-mobile\lib (QtCore4.dll QtGui4.dll) и C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\dll\armv4 (msvcr90.dll)
пути могут отличаться.
Могу выложить полную инструкцию которую проверил лично.
У меня работает на эмуляторе и на реальном устройстве.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 16, 2011, 09:59
может проблема в том что я скомпилировала проект под windows mobile 6.0 а на кпк стоит windows mobile 5.0, может поэтому не запускается

думаю проблема не в этом.
Обратите внимание на то что вы собираете, Дебаг или Релиз.
DLL берем: C:\Qt\qt-4.7.1-mobile\lib (QtCore4.dll QtGui4.dll) и C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\dll\armv4 (msvcr90.dll)
пути могут отличаться.
Могу выложить полную инструкцию которую проверил лично.
У меня работает на эмуляторе и на реальном устройстве.

буду очень благодарна за полную инструкцию, так как делала все как вы написали, то есть файл msvcr80.dll (у меня 2005 студия) я брала как раз из той папки о которой вы говорите, компилировала в режиме Релиз, библиотеки брала оттуда, но все равно не запускается на комуникаторе


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 16, 2011, 10:14
при построении приложения берутся модули:

1>------ Deploy started: Project: cookbook, Configuration: Release Windows Mobile 6 Professional SDK (ARMV4I) ------
1>C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\dll\ARMV4I\msvcr80.dll
1>C:\Qt\4.7.1_WM\lib\QtCore4.dll
1>C:\Qt\4.7.1_WM\lib\QtGui4.dll
1>C:\Qt\4.7.1_WM\lib\QtSql4.dll
1>c:\cookbook_wm\cookbook\bin\cookbook.exe

все эти файлы я добавила в папку с приложением

А show output from debug показывает ещё кучу модулей:
Load module: cookbook.exe
Load module: QtGui4.dll
Load module: msvcr80.dll
Load module: QtCore4.dll
Load module: QtSql4.dll
Load module: CEShell.DLL
Load module: commctrl.dll.0409.MUI
Load module: commctrl.dll
Load module: ossvcs.dll
Load module: aygshell.dll
Load module: OLEAUT32.dll
Load module: WS2.dll
Load module: WINSOCK.dll
Load module: coredll.dll.0409.MUI
Load module: ole32.dll
Load module: coredll.dll
Load module: PackageInfoAPI.DLL
Unload module: PackageInfoAPI.DLL
Load module: MMTimer.dll
Load module: compime.dll
Load module: shellres.dll
Load module: ShUtil.dll

некоторые из этих длл искала на компе, но не нашла, они вообще нужны или нет??


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: Пантер от Февраль 16, 2011, 10:47
Воспользуйся программой depends. Она покажет зависимости исполняемого файла.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 16, 2011, 11:01
Воспользуйся программой depends. Она покажет зависимости исполняемого файла.

скачала dependency walker версию для pocket pc architecture, вечером запущу её на кпк, попробую, спасибо, вообще наверно эти dllки должны быть в системных папках ос windows mobile как я понимаю


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: Пантер от Февраль 16, 2011, 11:18
Там еще может быть косяк с манифестами.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 16, 2011, 13:31
Там еще может быть косяк с манифестами.

а это что??


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: Пантер от Февраль 16, 2011, 13:39
Ну, к dll'кам прилагаются файлы manifest.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 16, 2011, 14:08
Ну, к dll'кам прилагаются файлы manifest.

а какой косяк может быть с ними?


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: Пантер от Февраль 16, 2011, 14:18
Давно это было.... Что-то из-за них глючило, но не помню что. Давно уже юзаю MinGW, в нем таких проблем нет.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: ufna от Февраль 16, 2011, 14:38
Не надо собирать под шестую мобайл, а запускать на пятой.


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 18, 2011, 16:06
Не надо собирать под шестую мобайл, а запускать на пятой.

вы в этом уверены??


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 19, 2011, 20:00
Воспользуйся программой depends. Она покажет зависимости исполняемого файла.

скачала dependency walker версию для pocket pc architecture, вечером запущу её на кпк, попробую, спасибо, вообще наверно эти dllки должны быть в системных папках ос windows mobile как я понимаю

не запускается dependency walker для pocket pc architecture на windows mobile 5.0, пишет что не является приложением для pocked pc


Название: Re: Windows Embedded. На КПК не запускается пример, ниодин(+)
Отправлено: nata267 от Февраль 22, 2011, 15:38
Не надо собирать под шестую мобайл, а запускать на пятой.

да, действительно, вы правы, собрала qt под windows mobile 5 pocket pc и все заработало