Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Build qt4.8.0 for wince failed

Build qt4.8.0 for wince failed

Scheduled Pinned Locked Moved Mobile and Embedded
17 Posts 8 Posters 11.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    ibingow
    wrote on last edited by
    #1

    with the same steps, i build qt4.7.4 successfully but 4.8.0 failed.

    error message:
    @ cd src\winmain\ && "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile
    "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile.Release
    cd src\corelib\ && "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile
    "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile.Release
    cl -c -FIqt_pch.h -Yuqt_pch.h -Fptmp\obj\release_shared\QtCore_pch.pch -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -w34100 -w34189 -EHs-c- -EHsc -DQT_SHARED -DQT_THREAD_SUPPORT -DUNDER_CE -DWINCE -D_WINDOWS -D_UNICODE -DUNICODE -D_WIN32 -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DSTANDARDSHELL_UI_MODEL -D_WIN32_WCE=0x500 -DARMV4I -D_ARMV4I_ -Darmv4i -D_ARM_ -DARM -D_M_ARM -DARM -D__arm__ -DQ_OS_WINCE_STD -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -D_USE_MATH_DEFINES -DNO_ERRNO_H -DHB_EXPORT=Q_CORE_EXPORT -DQT_DLL -DQT_NO_DEBUG -DQT_NO_DYNAMIC_CAST -I"....\include" -I"....\include\QtCore" -I"tmp\rcc\release_shared" -I"tmp" -I"global" -I"d:\Qt\qt-everywhere-opensource-src-4.8.0\src\3rdparty\zlib" -I"d:\Qt\qt-everywhere-opensource-src-4.8.0\src\3rdparty\harfbuzz\src" -I"d:\Qt\qt-everywhere-opensource-src-4.8.0\src\3rdparty\md5" -I"d:\Qt\qt-everywhere-opensource-src-4.8.0\src\3rdparty\md4" -I"....\include\ActiveQt" -I"tmp\moc\release_shared" -I"d:\Qt\qt-everywhere-opensource-src-4.8.0\src\corelib" -I"." -I"....\mkspecs\wince50standard-armv4i-msvc2008" -Fotmp\obj\release_shared\ @C:\Users\ADMINI~1\AppData\Local\Temp\nmF52E.tmp
    qlocale_tools.cpp
    d:\Qt\qt-everywhere-opensource-src-4.8.0\src\corelib\tools\qlocale_tools.cpp(2273) : error C3861: '_control87': identifier not found
    d:\Qt\qt-everywhere-opensource-src-4.8.0\src\corelib\tools\qlocale_tools.cpp(2281) : error C3861: '_control87': identifier not found
    d:\Qt\qt-everywhere-opensource-src-4.8.0\src\corelib\tools\qlocale_tools.cpp(2294) : error C3861: '_control87': identifier not found@

    I read the source code, _control87 is defined as another function for wince, but it's strange that in this file it is not, i don't know how to fix it.

    1 Reply Last reply
    0
    • F Offline
      F Offline
      flaviomarcio
      wrote on last edited by
      #2

      Hello,
      I am having the same problem, I compiled in the same way that Qt4.7.4 and VS2005.
      In the links:
      http://developer.qt.nokia.com/doc/qt-4.7/install-wince.html
      and
      http://developer.qt.nokia.com/doc/qt-4.8/install-wince.html
      they didn't increase anything again and it continues giving the same mistake

      error message:

          cl -c -FIqt_pch.h -Yuqt_pch.h -Fptmp\obj\debug_static\QtCored_pch.pch -n
      

      ologo -Zm200 -Zc:wchar_t- -DDEBUG -D_DEBUG -Zi -MDd -W3 -w34100 -w34189 -EHs-c-
      -DQT_THREAD_SUPPORT -DUNDER_CE -DWINCE -D_WINDOWS -D_UNICODE -DUNICODE -D_WIN32
      -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -D_WIN32_WCE=0x501 -DARMV4I -D_ARMV4I_ -Darm
      v4i -D_ARM_ -DARM -D_M_ARM -DARM -D__arm__ -DQ_OS_WINCE_WM -DQT_NO_PRINTER -DQT_
      NO_PRINTDIALOG -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_ASCII_CAST_WARNI
      NGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -D_USE_MATH_DEFINES -DNO_ERRNO_H -DH
      B_EXPORT=Q_CORE_EXPORT -DQT_HAVE_MMX -DQT_HAVE_IWMMXT -DQT_NO_DYNAMIC_CAST -I"..
      ..\include" -I"....\include\QtCore" -I"tmp\rcc\debug_static" -I"tmp" -I"global
      " -I"..\3rdparty\zlib" -I"..\3rdparty\harfbuzz\src" -I"..\3rdparty\md5" -I"..\3r
      dparty\md4" -I"....\include\ActiveQt" -I"tmp\moc\debug_static" -I"....\mkspecs
      \wincewm50pocket-msvc2005" -Fotmp\obj\debug_static\ @C:\DOCUME~1\ADMINI~1\CONFIG
      ~1\Temp\nm40.tmp
      qlocale_tools.cpp
      tools\qlocale_tools.cpp(2273) : error C3861: '_control87': identifier not found
      tools\qlocale_tools.cpp(2281) : error C3861: '_control87': identifier not found
      tools\qlocale_tools.cpp(2294) : error C3861: '_control87': identifier not found
      NMAKE : fatal error U1077: '"C:\Arquivos de programas\Microsoft Visual Studio 8
      VC\ce\bin\x86_arm\cl.EXE"' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: '"C:\Arquivos de programas\Microsoft Visual Studio 8
      VC\bin\nmake.exe"' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: 'cd' : return code '0x2'
      Stop.

      Flavio Portela

      1 Reply Last reply
      0
      • E Offline
        E Offline
        ephe
        wrote on last edited by
        #3

        Are you using VS2005 or VS2008? I had some problems when using VS2005, but it worked with VS2008. But I cannot remember if it was the same problem.

        1 Reply Last reply
        0
        • I Offline
          I Offline
          ibingow
          wrote on last edited by
          #4

          I use vs2008
          [quote author="saho" date="1324378167"]Are you using VS2005 or VS2008? I had some problems when using VS2005, but it worked with VS2008. But I cannot remember if it was the same problem.[/quote]

          1 Reply Last reply
          0
          • E Offline
            E Offline
            ephe
            wrote on last edited by
            #5

            I just had a look at this file in my build.

            Do you have this line in \src\corelib\kernel\qfunctions_wince.h (it's right underneath the QT_END_HEADER)?

            @// The standard SDK misses this define...
            #define _control87 _controlfp@

            and in the qlocale_tools.cpp I there is this include:
            @#include "qfunctions_wince.h"@

            I hope that I could help with that.

            1 Reply Last reply
            0
            • I Offline
              I Offline
              ibingow
              wrote on last edited by
              #6

              yes, i have. The problem is Q_OS_WINCE is not defined in qlocale_tools.cpp
              [quote author="saho" date="1324457534"]I just had a look at this file in my build.

              Do you have this line in \src\corelib\kernel\qfunctions_wince.h (it's right underneath the QT_END_HEADER)?

              @// The standard SDK misses this define...
              #define _control87 _controlfp@

              and in the qlocale_tools.cpp I there is this include:
              @#include "qfunctions_wince.h"@

              I hope that I could help with that.[/quote]

              1 Reply Last reply
              0
              • E Offline
                E Offline
                ephe
                wrote on last edited by
                #7

                Were the Preprocessor Definitions set correctly?
                _WIN32_WCE=0x700 (or 0x600 for Win CE 6) has to be set.

                In the mkspecs in the qmake.conf of my platform I've got
                DEFINES += _WIN32_WCE=0x700 $$CE_ARCH ARMV4I armv4i ARM ARM _M_ARM ARM arm Q_OS_WINCE_STD QT_NO_PRINTER QT_NO_PRINTDIALOG

                It is strange that this was working for 4.7 but not anymore for 4.8. I'm sure that you have also cross-compiled it with configure -platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005

                For me, 4.7 was not working correctly, but building 4.8 with VS2008 under Windows 7 was working fine.

                1 Reply Last reply
                0
                • I Offline
                  I Offline
                  ibingow
                  wrote on last edited by
                  #8

                  yes, the definitions are correct. when compiling other files, Q_OS_WINCE in qfunctions_wince.h is defined.
                  [quote author="saho" date="1324459365"]Were the Preprocessor Definitions set correctly?
                  _WIN32_WCE=0x700 (or 0x600 for Win CE 6) has to be set.

                  In the mkspecs in the qmake.conf of my platform I've got
                  DEFINES += _WIN32_WCE=0x700 $$CE_ARCH ARMV4I armv4i ARM ARM _M_ARM ARM arm Q_OS_WINCE_STD QT_NO_PRINTER QT_NO_PRINTDIALOG

                  It is strange that this was working for 4.7 but not anymore for 4.8. I'm sure that you have also cross-compiled it with configure -platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005

                  For me, 4.7 was not working correctly, but building 4.8 with VS2008 under Windows 7 was working fine.
                  [/quote]

                  1 Reply Last reply
                  0
                  • W Offline
                    W Offline
                    william
                    wrote on last edited by
                    #9

                    Add below line to qlocale_tools.cpp would be OK.
                    #include <private/qfunctions_p.h>

                    I'm using VS2005 and have compiled corelib, gui and xml successfully after make some changes.

                    1 Reply Last reply
                    0
                    • I Offline
                      I Offline
                      ibingow
                      wrote on last edited by
                      #10

                      [quote author="william" date="1325035622"]Add below line to qlocale_tools.cpp would be OK.
                      #include <private/qfunctions_p.h>

                      I'm using VS2005 and have compiled corelib, gui and xml successfully after make some changes.[/quote]

                      Thanks, it works. But i have another problem when builing zlib
                      @ cd src\winmain\ && "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile
                      "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile.Release
                      cd src\corelib\ && "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile
                      "e:\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile.Release
                      cl -c -nologo -Zm200 -Zc:wchar_t- -QRarch4T -QRinterwork-return -O2 -MD -W3 -DQT_SHARED -DQT_THREAD_SUPPORT -DUNDER_CE -DWINCE -D_WINDOWS -D_UNICODE -DUNICODE -D_WIN32 -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DSTANDARDSHELL_UI_MODEL -D_WIN32_WCE=0x500 -DARMV4I -D_ARMV4I_ -Darmv4i -D_ARM_ -DARM -D_M_ARM -DARM -D__arm__ -DQ_OS_WINCE_STD -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -D_USE_MATH_DEFINES -DNO_ERRNO_H -DHB_EXPORT=Q_CORE_EXPORT -DQT_DLL -DQT_NO_DEBUG -DQT_NO_DYNAMIC_CAST -I"....\include" -I"....\include\QtCore" -I"tmp\rcc\release_shared" -I"tmp" -I"global" -I"d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\zlib" -I"d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\harfbuzz\src" -I"d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\md5" -I"d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\md4" -I"....\include\ActiveQt" -I"tmp\moc\release_shared" -I"d:\build\qt-everywhere-opensource-src-4.8.0\src\corelib" -I"." -I"....\mkspecs\wince50standard-armv4i-msvc2008" -Fotmp\obj\release_shared\ @C:\Users\ADMINI~1\AppData\Local\Temp\nmA8FC.tmp
                      gzclose.c
                      d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\zlib\gzguts.h(43) : fatal error C1083: Cannot open include file: 'io.h': No such file or directory
                      gzlib.c
                      d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\zlib\gzguts.h(43) : fatal error C1083: Cannot open include file: 'io.h': No such file or directory
                      gzread.c
                      d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\zlib\gzguts.h(43) : fatal error C1083: Cannot open include file: 'io.h': No such file or directory
                      gzwrite.c
                      d:\build\qt-everywhere-opensource-src-4.8.0\src\3rdparty\zlib\gzguts.h(43) : fatal error C1083: Cannot open include file: 'io.h': No such file or directory
                      Generating Code...@

                      1 Reply Last reply
                      0
                      • W Offline
                        W Offline
                        william
                        wrote on last edited by
                        #11

                        You need to appoint an older version of zlib, 1.2.3 would be OK as it also used in Qt 4.7. In Qt 4.8.0, it contains a newer zlib 1.2.5 and use read/write function for file operation. These functions doesn't support in WinCE.

                        1 Reply Last reply
                        0
                        • F Offline
                          F Offline
                          fonzi337
                          wrote on last edited by
                          #12

                          william, could you elaborate on how one goes about appointing an older version of zlib for the build? I tried copying the Qt 4.7.4 /3rdParty/zlib folder as well as the Qt 4.7.4 /3rdParty/zlib.pri and Qt 4.7.4 /3rdPart/zlib_dependency.pri files into my Qt 4.8.0's /3rdParty directory but this does not fix the issue.

                          Update: Sorry, I was encountering issues with zlib because I forgot to rerun configure after reverting zlib to version 1.2.3.

                          Were any of you able to successfully cross-compile Qt after reverting zlib to version 1.2.3? It now gets past the zlib error I was seeing before, but now has a problem doing a conversion in qfsfileengine_win.cpp:

                          c:\Qt\QtWinCE\4.8.0\src\corelib\io\qfsfileengine_win.cpp(553) : error C2664: 'QS
                          tring::QString(QChar)' : cannot convert parameter 1 from 'QFileSystemEntry' to '
                          QChar'
                          No user-defined-conversion operator available that can perform this conv
                          ersion, or the operator cannot be called
                          qfilesystemwatcher_win.cpp
                          qwindowspipewriter.cpp
                          qfilesystemengine_win.cpp
                          qfilesystemiterator_win.cpp
                          Generating Code...
                          NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\ce\bi
                          n\x86_arm\cl.EXE"' : return code '0x2'
                          Stop.
                          NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\bin\n
                          make.exe"' : return code '0x2'
                          Stop.
                          NMAKE : fatal error U1077: 'cd' : return code '0x2'
                          Stop.

                          Any thoughts?

                          Update: For those who encounter a similar problem, I replaced line 553 in qfsfileengine_win.cpp

                          @return QFileSystemEngine::currentPath();@

                          with

                          @return QFileSystemEngine::currentPath().filePath();@

                          I ran into other issues later on, but I suspect those may have been caused by my include paths not being properly set up.

                          1 Reply Last reply
                          0
                          • N Offline
                            N Offline
                            ncsunickv
                            wrote on last edited by
                            #13

                            Struggling through these build issues as well. From the 4.8.0 commercial release notes, appears all of these issues are resolved in the commercial build:

                            http://qt.digia.com/en/Qt/Release-Notes/Release-Notes-Qt-Commercial-48-Final/

                            Not familiar with any location to grab patches, if any exist, for the open source edition.

                            1 Reply Last reply
                            0
                            • W Offline
                              W Offline
                              william
                              wrote on last edited by
                              #14

                              Seems that it would be fixed on next release.

                              @fonzi337, @ncsunickv
                              Please tell me your email address through my private email as there are several files need to be changed and I don't know how to put these files to the forum.

                              1 Reply Last reply
                              0
                              • N Offline
                                N Offline
                                ncsunickv
                                wrote on last edited by
                                #15

                                Hi William,

                                Really appreciate your help with this. My email is ncsunickv at yahoo dot com (avoiding bots). I would also assume the next release will contain the build fixes, as I think the 4.7.0 also had some build issues that were corrected in 4.7.1.

                                Also, one thing I noticed is there appears to be a configuration option for leaving the zlib out of the build. I didn't try this though, just regressed back to the previous version. Thanks,

                                Nick

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  alxvb
                                  wrote on last edited by
                                  #16

                                  I’ve succeeded in building qt 4.8 for wince with the following pre-steps with sources

                                  1. replace 3rdparty\zlib and 3rdparty\zlib.pri with same from qt 4.7.3 sources

                                  2. in corelib\tools\qlocale_tools.cpp ad the following line
                                    @#include <private/qfunctions_p.h>@

                                  3. in corelib\io\qfsfileengine_win.cpp change line 553

                                  Fom:
                                  @ return QFileSystemEngine::currentPath();@

                                  To:
                                  @ return QFileSystemEngine::currentPath().filePath();@

                                  1. in corelib\kernel\qsystemerror.cpp change code from line 44

                                  From:
                                  @#if !defined(Q_OS_WINCE)

                                  include <errno.h>

                                  if defined(Q_CC_MSVC)

                                  include <crtdbg.h>

                                  endif

                                  #endif@

                                  To:
                                  @#if defined(Q_OS_WINCE)
                                  #define strerror(n) "system error"
                                  #elif

                                  include <errno.h>

                                  if defined(Q_CC_MSVC)

                                  include <crtdbg.h>

                                  endif

                                  #endif@

                                  Then built it in usual way as a static lib with the following configuration:
                                  @ configure.exe -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008 -opensource -nomake examples -nomake demos -iwmmxt -no-exceptions -no-stl -no-rtti -no-qt3support -no-scripttools -no-style-motif -no-style-cde -no-style-cleanlooks -no-sql-sqlite -no-accessibility -no-dbus -no-phonon -no-phonon-backend -no-webkit -no-script -no-declarative -qt-libjpeg -qt-zlib -qt-libpng -L D:\QtSDK\opengl_wce\lib -openssl -I D:\QtSDK\openssl_wce\include -L D:\QtSDK\openssl_wce\lib -release -static@

                                  1 Reply Last reply
                                  0
                                  • W Offline
                                    W Offline
                                    windkracht8
                                    wrote on last edited by
                                    #17

                                    Step 2, 3 and 4 are fixed in 4.8.1 open source. Step 1 is not.

                                    1 Reply Last reply
                                    0

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved