Название: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: thedimitrius от Март 30, 2010, 11:56 Всем привет!
Есть железка на базе Samsung ARM920T-S3C2440A, операционная система windows ce version 5.00 build 1400. На чистой системе в виртуалке установил Visual Studio 2008 и Windows CE 5.00 SDK. Затем скачал Qt embedded, сделал configure -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 setcepaths wince50standard-armv4i-msvc2008 nmake Затем сделал проект в qt creator в другой виртуалке, проект скопировал на виртуалку, там сделал qmake -tp vc и получившийся проект откомпилировал в Visual Studio. На железке не работает, зато работает на смартфоне под Windows Mobile 6.1 Professional и НЕ работает в эмуляторе WinMobile 6.1. Правда, на телефоне есть ещё приписка под версией: ОС CE 5.2.21051 (сборка 21127.1.6.6) Название: Re: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: ufna от Март 30, 2010, 15:56 "не работает" - это какие симптомы?
Если железка у тебя это навигатор - то посмотри здесь, я уже описывал: http://ufna.ru/2010/03/23/pna-mod-qt-4-wince-build вообще, для 5ой версии очень рекомендую именно MSVS 2005. Я уже не помню почему, но имелся с этим много, пришлось именно вернуться к этой версии. Название: Re: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: thedimitrius от Март 31, 2010, 21:49 Не работает - значит выдаёт окошко "<program_name> не является приложением windows ce"
Спасибо за совет, удивлён, что не нашёл эту стать сам. Завтра утром попробую=) И - да, ты прав, программирую под навигатор, на задней наклейке Win CE _CORE_ Название: Re: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: ufna от Март 31, 2010, 22:18 ничего удивительного - ее поисковики только вчера или позавчера проиндексировали :)
еще особенность этих Embedded виндоусов в том, что там могут быть к тому же еще и не все компоненты. Практика показала, что чаще всего отсутствует aygshell.dll. Название: Re: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: thedimitrius от Апрель 01, 2010, 11:15 Итак-вести с фронтов=)
Компиляция прошла нормально, но линковщик ругается на mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QWidget::dragEnterEvent(class QDragEnterEvent *)" (?dragEnterEvent@QWidget@@MAAXPAVQDragEnterEvent@@@Z) mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QWidget::dragMoveEvent(class QDragMoveEvent *)" (?dragMoveEvent@QWidget@@MAAXPAVQDragMoveEvent@@@Z) mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QWidget::dragLeaveEvent(class QDragLeaveEvent *)" (?dragLeaveEvent@QWidget@@MAAXPAVQDragLeaveEvent@@@Z) mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QWidget::dropEvent(class QDropEvent *)" (?dropEvent@QWidget@@MAAXPAVQDropEvent@@@Z) Судя по всему, надо из configure всё же убрать -D QT_NO_DRAGANDDROP. Ща попробую пересобрать, о результатах отпишусь. Название: Re: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: thedimitrius от Апрель 01, 2010, 12:59 Итак.
Сделал всё по инструкции от ufna, кроме того, что убрал дефайн QT_NO_DRAGANDDROP (что, может, и к лучшему - попробую его поиспользовать в программе своей). И.... Оно заработало! Огромное спасибо ufna за советы и отклик=) ufna, если Вы не возражаете, я переведу на английский Вашу статью и выложу на англоязычных форумах, подозреваю, что она будет полезной (естественно, со ссылкой на Вашу страничку). Ещё раз спасибо=) Название: Re: Проект, собранный для Win CE, не работает на WinCE, но работает на Win Mobile Отправлено: ufna от Апрель 01, 2010, 14:02 не за что, всегда рад помочь ;) конечно я не против перевода ;)
а про QDragEvent'ы - забыл про этом написать, сейчас и в статью добавлю. В настройках проекта, в "С/С++" разделе в командную линию надо добавить те же флаги: Код
тогда компоновщик ругаться не будет и все пройдет успешно :) Просто вне зависимости от того, как собрана библиотека, исходники то остаются теми же самыми, и если не указать эти дефайны, студия так же тянет "запрещенные нами" функции. P.S. - Не факт что drag n drop есть реально - может быть случай, что когда его только реально подключишь, приложение начнет вылетать со ссылкой на кусок coredll.dll. |