tags:

views:

3337

answers:

5

I'm trying to compile Qt 4.5.1 on Windows XP targeting wince50.

I have the prerequisites installed (VS2008, WinCE50SDK, ActivePerl 5.10) and have downloaded the qt-embedded-wince-opensource-src-4.5.1.zip which has been installed in c:\Qt\4.5.1 and c:\Qt\4.5.1\bin has been added to the path.

From a VS command prompt, I navigate to c:\Qt\4.5.1 and execute the following:

configure -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 -qt-gif -qt-libjpeg -qt-libpng -webkit -openssl -arch windowsce -opensource -iwmmxt

and I get the following error:

c:\qt\4.5.1\include\qtcore\../../src/corelib/tools/qvector.h(758) : fatal error C1083: Cannot open include file: 'QtCore/QPointF': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

I've tried this with previous versions of Qt, down to 4.4.3 and on two differnt XP machines (one with a clean build) and with various different configure options. Every time I get the same error.

What am I missing?

+1  A: 

Have you set up the environment variables correctly? I.e. it's often nice to have a .bat with the respective INCLUDE and LIB definitions. If you've installed Qt, there's a Qt command shell installed that can serve as a nice template, giving you command prompt that has the correct environment variables depending on which Qt version you want to use.

Henrik Hartz
I have followed the instructions exactly as stated on the here: http://doc.qtsoftware.com/4.5/install-wince.htmlStep 4 (make) is to setup the Qt environment variables and I can't get past step 3 (configure). Even when I setup the environment variables from step 4 prior to running configure I still get the same error.I'm sure that there must be either some missing files in the src release or a missing undocumented step.I even created a new machine today with VS2005 to be sure that it wasn't VS2008 causing the problem, but I still got the same error.
A: 

OK, I've got a little further, though it's probably a dead end.

If I use qt-all-opensource-src-4.5.1 as a base then run configure it succeeds to build qmake, but then fails on missing wince files. So I then take the src and include folders from qt-embedded-wince-opensource-src-4.5.1 and copy them over the top of the qt-all folders then configure completes successfully.

But then nmake fails with the following error:

tmp\obj\debug_shared\qtmain_win.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'THUMB'
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\lib.EXE"' : return code '0x458'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

The fact that configure worked with this approach implies to me that the qt-embedded-wince-opensource-src-4.5.1 release has missing content.

Any suggestions as to what to try next to get this to compile would be very welcome.

A: 

So did I - make sure you downloaded the WinCE package and NOT the Windows installer as this doesn't have support for WinCE.

A: 

qt-embedded-wince-opensource-src-4.5.1.zip doesn't seem to be missing files, it contains include\QtCore\QPointF as it should. I tested that source package and I can configure fine.

Does the file c:\Qt\4.5.1\include\QtCore\QPointF exist after you extract the source package?

I may be grasping at straws here, but: what program did you use to unzip the sources? The filename in your error message is displayed all in lower case, did your unzip program convert all files to lower case? Are you using a case-sensitive filesystem? (I don't know if that's even possible on Windows...) This may be a red herring, for all I know cl.exe arbitrarily lowercases filenames in error messages.

If this doesn't help, please post some more of the error, so we can tell what precisely is failing to compile and what arguments were passed to cl.exe.

Intransigent Parsnip
A: 

I have the same problem to. I think I wil continue developping for the most, best, fast and stable system in the world, called .NET. For all those ms-bashers. The open-source community has never developed a run-in-one-click system. Something that the guys from MS can do. This is a huge different in productivity...

Mrx