Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
4.6.2
-
None
-
Windows XP SP2
Description
Recently I installed the Qt MSVC 2008 version in C:\Qt\4.6.2, and then (after eventual success), shadowed and compiled Qt with the mkspec wincewm60professional-msvc2008 in C:\Qt\4.6.2-mobile.
According to the docs (http://doc.trolltech.com/4.6/wince-with-qt-introduction.html) , cross compiling an existing qmake project for Windows CE can be done by calling "qmake" and then "nmake". However, I don't really see how that makes it exclusively for Windows CE, because in fact it just makes a Win32 application. So in this case I don't believe that the documentation is very specific. Because that step fails to create a WinCE application, I try the next one, calling "qmake -tp vc". This creates a Visual Studio project file configured for Win32. However, using configuration manager to configure the Windows Mobile 6 Professional SDK ends up with errors. Importing from Visual Studio with the Qt toolkit seems like it makes it more compatible, but even after changing the version I end up with errors like:
1>c:\qt\4.6.2-mobile\include\qtcore\../../../4.6.2/src/corelib/arch/qatomic_windows.h(167) : warning C4163: '_InterlockedExchangeAdd64' : not available as an intrinsic function
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include\crtdefs.h(106) : fatal error C1189: #error : ERROR: Use of C runtime library internal header file.
However, when creating a new Wince CE project from Visual Studio with the Qt Visual Studio integration set up, everything works.
So if you have a solution, please update the documentation to make it more specific, because I've looked all over the Net and people have these problems but no solutions. Thanks!
EDIT: I was able to "convert" my qmake project to visual studio by copying various settings from a Visual Studio-created "Qt Windows CE Project" to my generated project. It seems that various variables like preprocessor defines are not set so the compiler has problems. The main issue I think is that the QT_WINCE_OS flag or however it's called is not set.
Also, the Qt Visual Studio toolkit when creating a new WinCE project, creates the Program Database (Config/C++/Output Files) as $(IntDir)/vc80.pdb, but Visual Studio 2008 is vc90.