tags:

views:

312

answers:

2

Good day all,

It's the first time I am using Qt on Windows CE and I ran into an issue. Maybe someone can help me with it.

I will describe my set up. I am using XP with Visual Studio 2005 an Qt Add-in version 1.1.2. I downloaded Qt source for Windows CE and followed the instructions on these (http://doc.trolltech.com/4.4/install-wince.html) instructions to build the library for CE.

I then used the Visual Studio to create a minimal Qt Windows CE Application. The program runs fine in the CE emulator, but once I try to deploy it on the device it crashes with the following message:

Load module: qt_ce_3.exe Load module: QtGui4.dll Load module: msvcr80.dll Load module: QtCore4.dll Load module: CEShell.DLL Load module: OLEAUT32.dll Load module: commctrl.dll.0409.MUI Load module: commctrl.dll Load module: aygshell.dll Load module: WS2.dll Load module: WINSOCK.dll Load module: coredll.dll.0409.MUI Load module: ossvcs.dll Load module: ole32.dll Load module: coredll.dll Load module: MMTimer.dll Data Abort: Thread=8fb09a40 Proc=8c4ecea0 'qt_ce_3.exe' AKY=00040001 PC=012a80b0(qtcore4.dll+0x000680b0) RA=012a8168(qtcore4.dll+0x00068168) BVA=676e4574 FSR=000000f5 Unhandled exception at 0x012a80b0 in qt_ce_3.exe: 0xC0000005: Access violation reading location 0x676e4574.

I tried it on two devices from different manufacturers, and the result is the same. Debug version worked on one of them, ran out of memory on the other.

Does anyone have any idea what this could be?

Thanks in advance, Michael

A: 

I used Qt 4.5 on Windows CE 5.0 on custom device and had some strange crashes (access violations in Qt dlls and other). I'll describe you some of them...
Cause of first trouble (even qt samples didn't want run) was in 8 bit color mode on device, which was solved by tunning video driver settings. Cause of second trouble was in memory shortage (in my qt build configuration only Qt dlls spend > 10 Mb of RAM), which was solved by reduction of Windows CE image and drivers sizes.
Sometimes it is very hard to find source of trouble on embedded devices, but I suggest you to compile\run your sample program on desktop machine first, to checking them for logical errors, and only then start searching errors on device side...

vnm
Thanks very much.The thing is that it's a trivial program. I just create the simplest possible application, using Qt Visual Studio Add-in (you have an option to create a Win CE app), hence the issue is not with my logic.However I will try solving my issue by using your suggestions.Michael
Michael
Disabling iwmmxt instructions did the trick.
Michael
You did this using compiler settings ?
vnm
A: 

Thanks very much.

The thing is that it's a trivial program. I just create the simplest possible application, using Qt Visual Studio Add-in (you have an option to create a Win CE app), hence the issue is not with my logic.

However I will try solving my issue by using your suggestions.

Michael

Michael