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
Forum Updated to NodeBB v4.3 + New Features

Build qt4.8.0 for wince failed

Scheduled Pinned Locked Moved Mobile and Embedded
17 Posts 8 Posters 10.5k 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