October 13, 2011

YDLU YDLU
Lab Rat
7 posts

Run Qt application on Windows CE 6.0 on X86 (Intel Atom processor) platform.

 

Hi:

On Windows CE platform, Qt support a lots ARM platform or Windows CE 5.0 X86 platfrom.
However, my project need to run on the our-owned proprietary platform (Intel X86) with Windows CE 6.0 R3.

Did any porting documentations to different platform. I think that should be simple step rebuild the Qt code with “Our-owned” Windows CE 6.0 SDK. However I don’t know how to start!!!
Please any help.

Thanks
YDLU

5 replies

October 13, 2011

picasoft picasoft
Lab Rat
6 posts

This is my build.bat file I used to build Qt to WinCE 6.0 for ARM architecture

SET PATH=C:\Qt\colibri-4.6.1\bin;C:\Qt\colibri-4.6.1\include;PATH

call vsvars32.bat

nmake confclean

configure.exe -static -no-accessibility -no-stl -no-qt3support -no-opengl -qt-libpng -no-phonon -no-scripttools -platform win32-msvc2008 -xplatform wince60colibri-armv4i-msvc2008 -debug-and-release

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

nmake

The first you must setup an appropriate SDK for your platform.
The second specify -xplatform wince60standard-x86-msvc2008
The third scpecify INCLUDE and LIB paths to your SDK
Try to build Qt

October 14, 2011

YDLU YDLU
Lab Rat
7 posts

Hi picasoft:

my first step to port Qt to Windows CE is build a Windows CE 5 (standard SDK) on X86 using VS2008 build tools:

There is my steps:
(1st step: make sure just use VS2008 build tools)
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Qt\4.7.4\bin;C:\Qt\qt-everywhere-opensource-src-4.7.4\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\bin;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;
set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\ATLMFC\INCLUDE;C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\include;
set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\ATLMFC\LIB;C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;

(2nd Step: configure Qt 4.7.4 build)
cd c:\qt\qt-everywhere-opensource-src-4.7.4
configure -platform win32-msvc2008 -xplatform wince50standard-x86-msvc2008

(3rd step:)
setcepaths wince50standard-x86-msvc2008

(4th step: got a basic errro… )
nmake

(THE NMAKE ERRORS: ) cl c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -W3 -w34100 -w34189 -MP -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DQT_NO_DYNAMIC_CAST -I”..\..\include” -I“tmp” -I”..\..\include\QtCore” -I“c:\Qt\qt-everywhere-opensource-src-4.7.4\include\qtmain” -I“tmp\rcc\debug_shared” -I“tmp” -I”..\..\include\ActiveQt” -I“tmp\moc\debug_shared” -I”..\..\mkspecs\win32-msvc2008” -Fotmp\obj\debug_shared\ @C:\DOCUME~1\uidk5291\LOCALS~1\Temp\nm410.tmp
qtmain_win.cpp
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winnt.h(2975) : error C2146: syntax error : missing ‘;’ before identifier ‘ContextRecord’
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winnt.h(2975) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winnt.h(2975) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(1405) : error C2146: syntax error : missing ‘;’ before identifier ‘LPCONTEXT
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(1405) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(1405) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(2089) : error C2061: syntax error : identifier ‘LPCONTEXT
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(2097) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(2097) : error C2143: syntax error : missing ‘,’ before ‘*’
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\excpt.h(63) : error C2040: ‘PCONTEXT’ : ‘_CONTEXT *’ differs in levels of indirection from ‘int’
C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\excpt.h(66) : error C2378: ‘LPCONTEXT’ : redefinition; symbol cannot be overloaded with a typedef C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winbase.h(1405) : see declaration of ‘LPCONTEXT

do you could give me some advise where and what I did wrong?

Thanks
YDLU

October 16, 2011

picasoft picasoft
Lab Rat
6 posts

First:
Visual Studio 2008 default installation path is “..\Program Files\Microsoft Visual Studio 9.0” ( not 8)

Second:

Maybe “setcepaths wince50standard-x86-msvc2008” command doesn’t work properly.
Try to specify platform depended INCLUDE, LIB and PATH variables manually.
For example
set INCLUDE=C:\Microsoft Visual Studio 9.0\VC\ce\include;C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Include\x86

To setup environment variables use vcvars32.bat (at the path C:\Microsoft Visual Studio 9.0\Common7\Tools) or run your Qt build script under Visual Studio Command Promp

Read this instructions http://doc.qt.nokia.com/4.6/install-wince.html

Good Luck,
picasoft

October 17, 2011

YDLU YDLU
Lab Rat
7 posts

Thanks you point out the error.
After I correct the path, lib, the error still there. So I examed the first error:

cl c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -W3 -w34100 -w34189 -MP -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DQT_NO_DYNAMIC_CAST -I”..\..\include” -I“tmp” -I”..\..\include\QtCore” -I“c:\Qt\qt-everywhere-opensource-src-4.7.4\include\qtmain” -I“tmp\rcc\debug_shared” -I“tmp” -I”..\..\include\ActiveQt” -I“tmp\moc\debug_shared” -I”..\..\mkspecs\win32-msvc2008” -Fotmp\obj\debug_shared\ @C:\DOCUME~1\uidk5291\LOCALS~1\Temp\nm1DD.tmp qtmain_win.cpp C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\include\x86\winnt.h(2975) : error C2146: syntax error : missing ‘;’ before identifier ‘ContextRecord’

That mean the “X86” was not defined!

I checked the “wince50standard-x86-msvc2008” and “wince50standard-x86-msvc2005” both folder about the “qmake.conf” files. The “X86” was defined, but not on the “cl” options?

Someone knows where and how the “DEFINES” connect to the compiler?

Thanks
YDLU

March 28, 2012

draimond draimond
Lab Rat
4 posts

Hi,

Sorry for the late reply, but i met a similar problem with my WinCE SDK. If you have a defined QMAKESPEC environment variable & if you specify a different -xplatform content on the configure cmdline, the configure seems to take the content of the QMAKESPEC. I get the same error than yours. A configure screen log indicates that the -xplatform is specified on the cmdline but the tool keeps the QMAKESPEC definition. Let’s try to remove the QMAKESPEC content or let’s give it the target mkspecs value, it should work.

Best regards,
David.

 
  ‹‹ No widgets get focus      PyQt related query ››

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