PDA

View Full Version : Qt Embedded Enigma - XX.EXE is not a Windows CE Application



Congenital Optimist
16th September 2009, 11:14
I'm ready to throw in the towel with QT and go back to MFC and memory hogging C#.
My platform is a Vista Business machine with Visual Studio 2008 and StandardSDK_500. I have been developing on the standard SDK for more than a year now with MFC and C# compact framework and have several CF apps under my belt.

Here are my futile attempts installing qt-embedded-wince-opensource-4.5.2 so far:
configure -platform win32-msvc 2005 -xplatform wince50standard-armV4i-msvc2005
setcepaths wince50standard-armv4i-msvc2005
nmake

Everything compiles fine. I can use the build in Creator and compile a simple form. when I move it to my CE device with all the dll's from the lib directory of my qt-embedded-wince-opensource-4.5.2 etc (qtcore4.dll and all its friends) I get TestApp.exe is not a CE application. (Its not a win32 app either).

I then thought that maybe qt creator was mixing win32 and wince widgets or something so I decided to use the Visual studio plugin. That installs fine and I can add my win32 qt installation as a qt version, but when I try to add the embedded qt build it tells me the STANDARDSDK_500 (ARMV4I) is not defined. The thing is that it is defined as I can create a smart device project and select the STANDARDSDK_500 as the target.

I decided I must have done something wrong deleted the my qt-embedded-wince-opensource-4.5.2 directory and re-extracted it and then did the following:
configure -xplatform wince50standard-armv4i-msvc2005 (not explicitly defining my platform)
setcepaths wince50standard-armv4i-msvc2005
nmake

Once again 3 hours later I had a working build that I could use in QT creator but still the same behaviour as above in Visual Studio when adding a version to the Qt plugin. Once again Qt creator happily builds a simple project (just a blank form) but I still get the testapp2.exe is not a windows CE application message.

My last attempt I did the following after deleting the qt-embedded-wince-opensource-4.5.2 directory.
configure -platform win32-msvc2008 -xplatform wince50standard-armV4i-msvc2008
setcepaths wince50standard-armv4i-msvc2008
nmake

The build happened flawlessly. But now things are actually worse.

When I add the version to Qt Creator I cannot build the debugging helper. Looking at the log file it seems that the environment variables are for some reason not set as cl.exe cannot be found by nmake.

Visual studio gives the same error message when trying to add the version to the Qt plugin.

When I try to compile a new simple blank form project I get an error that says the stddefs.h could not be found.

I am fairly sure that there is something obvious that I missing. I am failry sure that my environment variables are correct as the build and compile strings look correct when compiling.

I have no more avenues to persue as my Qt build 4.5.2 for windows works great.

Any help at this point would be most appreciated as I cannot spend more time trying to sort this out and forums across the net seem to have many unanswered questions such as this.

Best regards
CO

nish
16th September 2009, 11:25
if i remember correctly.. qt creator can not build for wince ... so what you get after compiling with qt creator is a windows exe not wince exe... so forget about qt creator.

secondly in your first attempt you used msvc2005 target but you were using visual studio2008,,, although you corrected it in last attempt.

this is what you can try..
unistall the desktop Qt or rename the folder, delete all the qt variables (QTDIR etc).
unistall qt-wince.

compile qt-wince...
dont close the command window where you compilted qt-wince..
cd to examples dir and type qmake -tp vc
this will create a visual studio project.
from the same command prompt type devenv to start visual studio..
open the project from visual studio file->open menu...
compile for simulator.
compile for device/release
test on device..
Jai Ho!

Congenital Optimist
16th September 2009, 14:10
MrDeath

Busy re-installing. If you are correct about this I owe you a couple of beers. I will let you know what I find out.

Thank you for your reply.
Best regards
CO

Congenital Optimist
16th September 2009, 17:56
Hi MrDeath

I compiled everything as per your instructions and everything went well except the step

.... dir and type qmake -tp vc

That returned with all the qmake options, but no matter as configure created a .sln file which I opened.

I built the examples.sln and visual studio compiles it happily.
========== Rebuild All: 144 succeeded, 0 failed, 0 skipped ==========

I built using Windows CE device. I copied the collidingmice.exe as well as all the dll's from the lib directory of my qt-embedded directory. However I still get the "collidingmice.exe is not a Windows CE application. I also tried fridgemagnets.. same behaviour.

I then rebuilt the project as a SH4 Win32 which is the ARM build (the CE device has an ARM processor) but still exactly the same behaviour.

I'm feeling like a moron as this obviously works and the devices that I am using are commercial pda's that I have used time and time again.

Any ideas most welcome, no matter how strange. Right now I am contemplating buying a new hard-drive and reinstalling vista and visual studio.

nish
17th September 2009, 08:28
i forgot to tell you that you only need to go to a single example dir.. no need to build 144 example... anywyas.. were you able to run the application in simulator? what does the target box shows? (Target box means the little lineedit at the toolbars which shows the current target platform for eg. "win32 release")

Congenital Optimist
17th September 2009, 14:10
Hi MrDeath

I have built with the Target box showing:
HITACHI 7750 HARP:SH4 Win32
Windows CE Device

For both builds the Target device which is a Centrality ARM926 still throws the "XXX is not a CE application.

I am not sure what the "simulator" is that you talk about. I have the Microsoft CE 5.0 Emulator which I think is installed as part of the STANDARDSDK_500. The emulator also throws the XXX is not a CE application.

Haha... if this was easy then everyone would be doing it. Standard Embedded development diffculties. I sometimes envy the desktop developers... they have it so easy sometimes.

There must be something weird at work here. Thank you very much for your time. It is appreciated.