2
votes

I'm trying to build the Qt 5.3.2 library for WEC7. For this purpose I followed those guidelines:

If fulfilled all requirements. My Setup:

  • Visual Studio 2008 Professional SP1
  • Active Perl 5.3.16
  • Windows Embedded Compact 7
  • ARM Platform: Freescale i.MX6

I created a Custom Build Specification:

  • Created wince70embedded-iMX6-msvc2008 based on wince70embedded-armv4i-msvc2008
  • Set CE_SDK = phyFLEX-i.MX6 SDK
  • Set CE_ARCH = ARMv4I
  • Added Preprocessor Definitions UNDER_CE, WINCE, $(ARCHFAM), $(_ARCHFAM_), _UNICODE, UNICODE

Afterwards I

  • Added C:\Qt\5.3.2_CE\qtbase\bin to PATH
  • Used vcvars32.bat to set Environment variables
  • configure -platform win32-msvc2008 -xplatform wince70embedded-iMX6-msvc2008
  • Build using nmake

After a while the build fails with:

rror C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(91) : e
rror C2143: syntax error : missing ';' before '}'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C3203: 'QPointer' : unspecialized class template can't be used as a templat
e argument for template parameter 'T', expected a real type
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2955: 'QPointer' : use of class template requires template argument list
        c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qmetatype.
h(1264) : see declaration of 'QPointer'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'isStatic' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'isLarge' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2027: use of undefined type 'QPointer'
        c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qmetatype.
h(1264) : see declaration of 'QPointer'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'isPointer' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'isIntegral' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C3203: 'QPointer' : unspecialized class template can't be used as a templat
e argument for template parameter 'T', expected a real type
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2955: 'QPointer' : use of class template requires template argument list
        c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qmetatype.
h(1264) : see declaration of 'QPointer'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2955: 'QtPrivate::is_integral' : use of class template requires template a
rgument list
        c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/global/qtypetrait
s.h(219) : see declaration of 'QtPrivate::is_integral'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'isDummy' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'sizeOf' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2027: use of undefined type 'QPointer'
        c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qmetatype.
h(1264) : see declaration of 'QPointer'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(92) : e
rror C2143: syntax error : missing ',' before '}'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(95) : e
rror C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(96) : e
rror C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(99) : e
rror C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(100) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(103) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(104) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(107) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(107) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(107) :
error C2065: 'o' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(107) :
error C2143: syntax error : missing ',' before ')'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(108) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(111) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(111) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(112) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(115) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(116) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(119) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(120) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(123) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(124) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(127) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(127) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(127) :
error C2065: 'o' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(127) :
error C2143: syntax error : missing ',' before ')'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(128) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(131) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(131) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(132) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(135) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(137) :
error C2143: syntax error : missing ';' before '{'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(138) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(138) :
error C2065: 'T' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(138) :
error C2059: syntax error : '>'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(138) :
error C2059: syntax error : ')'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(139) :
error C2143: syntax error : missing ';' before '}'
c:\qt\5.3.2_ce\qtbase\include\qtcore\../../src/corelib/kernel/qpointer.h(139) :
fatal error C1003: error count exceeds 100; stopping compilation
qaccessiblecache.cpp
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(72) : error C2143:
 syntax error : missing ';' before '*'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(72) : error C4430:
 missing type specifier - int assumed. Note: C++ does not support default-int
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(72) : error C2653:
 'QAccessible' : is not a class or namespace name
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(72) : error C2061:
 syntax error : identifier 'Id'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(72) : error C4430:
 missing type specifier - int assumed. Note: C++ does not support default-int
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(72) : warning C418
3: 'interfaceForId': missing return type; assumed to be a member function return
ing 'int'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(73) : error C2653:
 'QAccessible' : is not a class or namespace name
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(73) : error C2146:
 syntax error : missing ';' before identifier 'insert'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(73) : error C4430:
 missing type specifier - int assumed. Note: C++ does not support default-int
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(73) : error C2061:
 syntax error : identifier 'QAccessibleInterface'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(73) : error C4430:
 missing type specifier - int assumed. Note: C++ does not support default-int
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(73) : warning C418
3: 'insert': missing return type; assumed to be a member function returning 'int
'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(74) : error C2653:
 'QAccessible' : is not a class or namespace name
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(74) : error C2061:
 syntax error : identifier 'Id'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(85) : error C2653:
 'QAccessible' : is not a class or namespace name
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(85) : error C2146:
 syntax error : missing ';' before identifier 'acquireId'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(85) : error C4430:
 missing type specifier - int assumed. Note: C++ does not support default-int
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(85) : error C4430:
 missing type specifier - int assumed. Note: C++ does not support default-int
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(85) : warning C418
3: 'acquireId': missing return type; assumed to be a member function returning '
int'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(87) : error C2653:
 'QAccessible' : is not a class or namespace name
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(87) : error C2065:
 'Id' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(87) : error C2065:
 'QAccessibleInterface' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(87) : error C2059:
 syntax error : '>'
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(88) : error C2653:
 'QAccessible' : is not a class or namespace name
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(88) : error C2065:
 'Id' : undeclared identifier
c:\qt\5.3.2_ce\qtbase\src\gui\accessible\qaccessiblecache_p.h(97) : error C2143:
 syntax error : missing ';' before '}'
accessible\qaccessiblecache.cpp(52) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(52) : error C2653: 'Q_QGS_qAccessibleCache' : is
 not a class or namespace name
accessible\qaccessiblecache.cpp(52) : error C2065: 'innerFunction' : undeclared
identifier
accessible\qaccessiblecache.cpp(52) : error C2653: 'Q_QGS_qAccessibleCache' : is
 not a class or namespace name
accessible\qaccessiblecache.cpp(52) : error C2065: 'guard' : undeclared identifi
er
accessible\qaccessiblecache.cpp(55) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(57) : error C2143: syntax error : missing ';' be
fore '}'
accessible\qaccessiblecache.cpp(64) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(65) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(66) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(66) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(67) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(69) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(76) : error C2143: syntax error : missing ';' be
fore '}'
accessible\qaccessiblecache.cpp(79) : error C2143: syntax error : missing ';' be
fore '}'
accessible\qaccessiblecache.cpp(81) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(82) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(84) : error C2143: syntax error : missing ';' be
fore '}'
accessible\qaccessiblecache.cpp(86) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(86) : error C2065: 'QAccessibleInterface' : unde
clared identifier
accessible\qaccessiblecache.cpp(86) : error C2065: 'iface' : undeclared identifi
er
accessible\qaccessiblecache.cpp(86) : error C2143: syntax error : missing ',' be
fore ')'
accessible\qaccessiblecache.cpp(87) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(88) : error C2143: syntax error : missing ',' be
fore ')'
accessible\qaccessiblecache.cpp(92) : error C2143: syntax error : missing ',' be
fore ')'
accessible\qaccessiblecache.cpp(93) : error C2143: syntax error : missing ',' be
fore ')'
accessible\qaccessiblecache.cpp(95) : error C2653: 'QAccessible' : is not a clas
s or namespace name
accessible\qaccessiblecache.cpp(97) : error C2143: syntax error : missing ',' be
fore ')'
accessible\qaccessiblecache.cpp(98) : error C2143: syntax error : missing ';' be
fore '{'
accessible\qaccessiblecache.cpp(99) : error C2065: 'id' : undeclared identifier
accessible\qaccessiblecache.cpp(100) : error C2355: 'this' : can only be referen
ced inside non-static member functions
accessible\qaccessiblecache.cpp(100) : error C2143: syntax error : missing ',' b
efore ')'
accessible\qaccessiblecache.cpp(101) : error C2143: syntax error : missing ';' b
efore '}'
accessible\qaccessiblecache.cpp(102) : error C2065: 'iface' : undeclared identif
ier
accessible\qaccessiblecache.cpp(104) : error C2143: syntax error : missing ';' b
efore '}'
accessible\qaccessiblecache.cpp(107) : error C2143: syntax error : missing ';' b
efore '{'
accessible\qaccessiblecache.cpp(108) : error C2653: 'QAccessible' : is not a cla
ss or namespace name
accessible\qaccessiblecache.cpp(109) : error C2143: syntax error : missing ';' b
efore '{'
accessible\qaccessiblecache.cpp(110) : error C2143: syntax error : missing ',' b
efore ')'
accessible\qaccessiblecache.cpp(111) : error C2065: 'obj' : undeclared identifie
r
accessible\qaccessiblecache.cpp(112) : error C2143: syntax error : missing ';' b
efore '}'
accessible\qaccessiblecache.cpp(113) : error C2143: syntax error : missing ';' b
efore '}'
accessible\qaccessiblecache.cpp(115) : error C2653: 'QAccessible' : is not a cla
ss or namespace name
accessible\qaccessiblecache.cpp(115) : error C2065: 'obj' : undeclared identifie
r
accessible\qaccessiblecache.cpp(115) : error C2275: 'QObject' : illegal use of t
his type as an expression
accessible\qaccessiblecache.cpp(115) : error C2143: syntax error : missing ',' b
efore ')'
accessible\qaccessiblecache.cpp(116) : error C2143: syntax error : missing ';' b
efore '{'
accessible\qaccessiblecache.cpp(127) : error C2143: syntax error : missing ';' b
efore '}'
accessible\qaccessiblecache.cpp(130) : error C2143: syntax error : missing ';' b
efore '}'
accessible\qaccessiblecache.cpp(130) : fatal error C1004: unexpected end-of-file
 found
qaccessibleobject.cpp
qaccessibleplugin.cpp
qplatformaccessibility.cpp
qaccessiblebridge.cpp
Generating Code...
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\\ce\bin\x86_arm\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

What am I doing wrong? I'm new to QT and WEC7, so I hope you can point in the right direction.

1
VS2008 doesn't have 100% of the template support you may need. I see in the code that there is an ifdef around that area for a non-conformant compiler. Try adding UNDER_CE or something to that ifdef so that it tries the alternate version. - PaulH

1 Answers

0
votes

The configure line needs -no-accessibility, as WinCE lacks a general accessibility api. If there are more errors, please post them afterwards.