March 23, 2012

justzx justzx
Lab Rat
23 posts

How to use qml on wince6.0?

Page  
1

I want to use qml on wince6.0,And i have compile qt4.7.3 for wince6.0. when i deploy program on wince,it did not work,but it is running smoothly on windows xp,can any one help me?

16 replies

March 23, 2012

koahnig koahnig
Area 51 Engineer
2892 posts

Can you share some error messages from wince 6?
Otherwise people need a crystal ball for helping.

March 23, 2012

justzx justzx
Lab Rat
23 posts

First,I want to know if qml can be used on wince6.0 ?
Second,If qml support wince,I have a few question:
1> on the windows,qml file was running with qmlviewer.exe,on the wince6.0 it need qmlviewer.exe too?
2> on the windows,if i want to use qmlviewer.exe to show qml files,the follows dlls are required:
QtCore4.dll
QtDeclarative4.dll
QtGui4.dll
QtXmlPatterns4.dll
QtScript4.dll
QtOpenGL4.dll

on the windce,if it require these dlls too?
3> if I build a project with qml,and have compile it whith wince sdk,can generated exe file be running whithout qmlviewer.exe on wince6.0
Third,my sdk info if list below:
sdk :TE6410 Board
vs2005
i compile the ide follow this url:
http://xdlinux.info/wiki/index.php/Qt-WinCE安装、开发及部署全解
Does any one can help me?
Thanks

March 23, 2012

ludde ludde
Lab Rat
325 posts

We are using QML on Windows CE 6, so it can definitely be done.
You obviously have to configure your Windows CE build of Qt to include everything that is needed for Qt Quick. And I expect you will have to create your own mkspec file for that specific SDK. (The URL you point to is in Chinese, so I cannot say if it contains the information that you need.)
Our configuration uses the following DLLs:

QtCore4.dll
QtGui4.dll
QtDeclarative4.dll
QtScript4.dll
QtNetwork4.dll

March 26, 2012

justzx justzx
Lab Rat
23 posts

The process of building my sdk is showing below:
First download the following files:

1 qt-embedded-wince-opensource-src-4.7.3.zip。

2 vs2005 and vs80sp1-kb926604-x86-chs.exe

3 sdk,TE6410_CE6_SDK.msi

4 Microsoft ActiveSync4.5

Second compile and install:

1 install vs2005 and Microsoft ActiveSync4.5.

2 install sdk:TE6410_CE6_SDK.msi

3 UnZip qt-embedded-wince-opensource-src-4.7.3.zip to D:\qt-ce-4.7.3.

enter into this catalogue D:\qt-ce-4.7.3\mkspecs\wince60standard-armv4i-msvc2005 and modify qmake.conf

CE_SDK = TE6410 Board

CE_ARCH = ARMV4I
4 set enviroment:

set path= D:\qt-ce-4.7.3\bin

set qtdir=D:\qt-ce-4.7.3

enter into this catalogue D:\qt-ce-4.7.3

5 run this command: configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005 -qt-sql-sqlite.

6 run these command :

set INCLUDE=D:\Program Files\Microsoft Visual Studio 8\VC\ce\include;D:\Program Files\Windows CE Tools\wce600\TE6410 Board\Include\Armv4i set LIB=D:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce600\TE6410 Board\Lib\ARMV4I set PATH=D:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;PATH

7 nmake

March 26, 2012

justzx justzx
Lab Rat
23 posts

The process of building my qt-wince project is showing below:
First set the enviroment:
set INCLUDE=D:\Program Files\Microsoft Visual Studio 8\VC\ce\include;D:\Program Files\Windows CE Tools\wce600\TE6410 Board\Include\Armv4i

set LIB=D:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce600\TE6410 Board\Lib\ARMV4I

set PATH=D:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;PATH

Second run these command:
D:\qt-ce-4.7.3\bin\qmake.exe -project -o hello.pro

D:\qt-ce-4.7.3\bin\qmake.exe -spec D:\qt-ce-4.7.3\mkspecs\wince60standard-armv4i-msvc2005 -win32 -o Makefile hello.pro

D:\qt-ce-4.7.3\bin\qmake -tp vc

Third,open hello.vcproj with vs2005,compile and build project

March 26, 2012

justzx justzx
Lab Rat
23 posts

can you understand the process of building my sdk and build my project? If you can,please give me some help, Possible that i ignore some details,Thank you!

March 26, 2012

justzx justzx
Lab Rat
23 posts

i copy qmlviewer.exe and following dlls to wince6:
QtCore4.dll
QtGui4.dll
QtDeclarative4.dll
QtScript4.dll
QtNetwork4.dll
But when i run qmlviewer.exe,it give the following error:
the program qmlviewer.exe occur some fatel error,and have been forced to cloesd

March 26, 2012

justzx justzx
Lab Rat
23 posts

can you run qmlviewer.exe on wince with these dlls?

March 26, 2012

ludde ludde
Lab Rat
325 posts

I have never tried to use qmlviewer on Windows CE. Our application is a C++ application, so we are just using Qt/QML for the GUI (which consists of a QDeclarativeView widget).

Have you managed to build a Qt Widget application and run it on your Windows CE target?

Also, the DLLs we use is the minimal set of DLLs we have been able to reach through months of tweeking the Qt configuration to make the footprint as small as possible. For a “vanilla” build of Qt for Windows CE I would expect you to need several other DLLs as well, including QtSql, QtXml, QtXmlPatterns and QtSvg. To make sure you’ve included all the necessary DLLs, I would start by including them all. And then use a tool like Dependency Walker to see exactly which ones you need.

March 26, 2012

justzx justzx
Lab Rat
23 posts

1 Yes,i have managed to build a Qt Widget application and run it on your Windows CE target.
2 what is the best methods to develop beautiful program on wince?
a use c#?
b use qt without qml
c use c++ and qml for ui
which is the best way?can you give me some suggest?
3 can you give me some Tutorials about design c++ applications whit qml for ui?
Thank you

March 26, 2012

ludde ludde
Lab Rat
325 posts

I think it very much depends on the application you want to build, and the kind of user interface you want it to have. I cannot really say anything about C# (except that I prefer Qt, of course… :). Regarding QML vs widgets, we decided to use QML mainly because we want our UI to be more like a phone UI than a desktop UI (small touch screen, always used in fullscreen mode etc.).

To create a C++ application that uses QML, just create a simple Qt application with a QDeclarativeView that shows your QML. If you’ve built Qt C++ applications before, the documentation of QDeclarativeView [qt-project.org] should be enough to get you started.

March 26, 2012

SteveKing SteveKing
Lab Rat
105 posts

@justzx: You seem to have several Qt / QML / WinCE 6 threads going at the moment. Are they all related to the same problem? I have tried answering on other threads, but by just creating new ones it’s quite hard to find out if anything I suggested is working…

We’re using QML on WinCE 5 and 6 and our use case seems to be much the same as @ludde, we wanted a non-native looking application that could be prototyped very quickly and so went with QML.

As for the tutorials, a simple Google search should give you many example of QML UI’s.

March 28, 2012

justzx justzx
Lab Rat
23 posts

Thank you SteveKing,what you answer give me a great help. All the thread related to this thread,what i want to know is how can i use qml on wince,you can close the other thread,and merge to this one.

March 28, 2012

justzx justzx
Lab Rat
23 posts
I use Dependency Walker to find the required dlls,but I can find ceshell.dll coredll.dll mmtimer.dll ws2.dll in the sdk folder

March 28, 2012

justzx justzx
Lab Rat
23 posts

SteveKing、ludde ludde Thanks very much,I have successful deploy qml on wince6.0,The required dlls contain:
QtScriptd4.dll
QtNetworkd4.dll
QtSqld4.dll
QtGuid4.dll
QtDeclaratived4.dll
QtCored4.dll
msvcr80d.dll
and if i want to use qmlfile,the qml file must be deploy with exe program.
haha It is so excited to use qml on wince6.0!!!

Page  
1

  ‹‹ QML Behavior on x Producing SegFault      Qt UIloader with multiple loading of same ui file ››

You must log in to post a reply. Not a member yet? Register here!