Qt5 fails to build on Windows 7



  • Hello, I'm not able to compile Qt5 on my windows Machine.
    I've got the following error :

    @Generating Code...
    link /LIBPATH:"c:\qt5\qtbase\lib" /LIBPATH:"c:\qt5\qtbase\lib" /LIBPATH:"c:\qt5\qtbase\lib" /NOLOGO /DYNAMICBASE
    /NXCOMPAT /DEBUG /MANIFEST /MANIFESTFILE:"tmp\obj\debug_shared\openglax.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MAN
    IFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df
    ' language='' processorArchitecture=''" /OUT:debug\openglax.exe @C:\Users\Mreza\AppData\Local\Temp\nm9FFD.tmp
    mt.exe -nologo -manifest "tmp\obj\debug_shared\openglax.intermediate.manifest" -outputresource:debug\openglax.ex
    e;1
    c:\qt5\qtbase\bin\idc.exe debug\openglax.exe /idl tmp\obj\debug_shared/openglax.idl -version 1.0

    tmp\obj\debug_shared\openglax.idl

    QObject::startTimer: QTimer can only be used with threads started with QThread
    midl tmp\obj\debug_shared/openglax.idl /nologo /tlb tmp\obj\debug_shared/openglax.tlb
    Processing tmp\obj\debug_shared\openglax.idl
    openglax.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.idl
    ocidl.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oleidl.idl
    oleidl.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\objidl.idl
    objidl.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\unknwn.idl
    unknwn.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\wtypes.idl
    wtypes.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\basetsd.h
    basetsd.h
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\guiddef.h
    guiddef.h
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.idl
    oaidl.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\servprov.idl
    servprov.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\urlmon.idl
    urlmon.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\msxml.idl
    msxml.idl
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.acf
    oaidl.acf
    Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.acf
    ocidl.acf
    c:\qt5\qtbase\bin\idc.exe debug\openglax.exe /tlb tmp\obj\debug_shared/openglax.tlb
    Type library attached to debug\openglax.exe.
    c:\qt5\qtbase\bin\idc.exe debug\openglax.exe /regserver
    QObject::startTimer: QTimer can only be used with threads started with QThread
    Server registered successfully!
    c:\qt5\qtbase\bin\qmake c:\qt5\qtwebkit.pri -o Makefile.qtwebkit
    "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f Makefile.qtwebkit

    Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
    Copyright (C) Microsoft Corporation. All rights reserved.

        "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f Makefile.qtwebkit.Debug
    

    Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
    Copyright (C) Microsoft Corporation. All rights reserved.

        cd qtwebkit && set "WEBKITOUTPUTDIR=C:/qt5/qtwebkit/WebKitBuild" && set "PATH=C:/qt5/gnuwin32/bin;%PATH%" && per
    

    l C:/qt5\qtwebkit\Tools\Scripts\build-webkit --qt --qmake=c:\qt5\qtbase\bin\qmake.EXE --install-libs=C:\qt5\qtbase\lib
    'LC_ALL' is not recognized as an internal or external command,
    operable program or batch file.
    Unable to determine current SVN revision in C:/qt5/qtwebkit at C:/qt5/qtwebkit/Tools/Scripts/VCSUtils.pm line 380.
    Calling '(set QMAKEPATH=C:\qt5\qtwebkit\Tools\qmake) && c:\qt5\qtbase\bin\qmake.EXE INSTALL_LIBS=C:\qt5\qtbase\lib C:\qt
    5\qtwebkit\WebKit.pro' in C:\qt5\qtwebkit\WebKitBuild\Release

    Installation libraries directory: C:\qt5\qtbase\lib
    WARNING: (internal):1: Unescaped backslashes are deprecated.
    Calling 'make incremental' in C:\qt5\qtwebkit\WebKitBuild\Release

    make: *** No rule to make target ..\..\WebKit.pro', needed byMakefile'. Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
    Stop.@



  • As it's "stated here":http://developer.qt.nokia.com/wiki/Building_Qt_5_from_Git, it is not recommended to build Qt5 with QtWebkit yet.

    If you really need QtWebkit, it's better to build it standalone, using its own build script. "Check how to do it here":http://trac.webkit.org/wiki/QtWebKit.



  • I've just removed QtWebkit Directories , re run configure command and now got this error message :

    @Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
    Copyright (C) Microsoft Corporation. All rights reserved.

        cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc -DQT_SHARED -DUNICODE -DWIN32 -DQT_LARGE
    

    FILE_SUPPORT -DQT_BUILD_LOCATION_LIB -DQT_MAKEDLL -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_C
    OMPAT -DQT_USE_QSTRINGBUILDER -D_USE_MATH_DEFINES -DQT_DLL -DQT_QT3D_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQ
    T_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -I"c:\qt5\qtbase\include\QtCore"
    -I"c:\qt5\qtbase\include\QtCore\5.0.0" -I"c:\qt5\qtbase\include\QtCore\5.0.0\QtCore" -I"c:\qt5\qtbase\include\QtGui" -I"
    c:\qt5\qtbase\include\QtNetwork" -I"c:\qt5\qt3d\include" -I"c:\qt5\qt3d\include\Qt3D" -I"c:\qt5\qtbase\include" -I"....
    \include\QtLocation\5.0.0\QtLocation" -I"....\include\QtLocation\5.0.0" -I"....\include" -I"....\include\QtLocation"
    -I"....\include" -I"tmp" -I"maps" -I"places" -I"c:\qt5\qtbase\mkspecs\win32-msvc2010" -I"debug" -I"c:\qt5\qtbase\mkspec
    s\default" -Fodebug\ @C:\Users\Mreza\AppData\Local\Temp\nm48AF.tmp
    qdoublevector2d.cpp
    qdoublevector3d.cpp
    qgeocameracapabilities.cpp
    qgeocameradata.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeocameratiles.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeocodereply.cpp
    qgeocodingmanager.cpp
    qgeocodingmanagerengine.cpp
    qgeocoordinateinterpolator.cpp
    qgeomaneuver.cpp
    qgeomapcontroller.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeomapgeometry.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeomapimages.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeomap.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeomappingmanager.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeomappingmanagerengine.cpp
    qgeomaptype.cpp
    qgeoprojection.cpp
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(66) : error C2487: 'coordToMercator' : member of dll interface cl
    ass may not be declared with dll interface
    c:\qt5\qtlocation\src\location\maps\qgeoprojection_p.h(67) : error C2487: 'mercatorToCoord' : member of dll interface cl
    ass may not be declared with dll interface
    qgeoroute.cpp
    qgeoroutereply.cpp
    Generating Code...
    Compiling...
    qgeorouterequest.cpp
    qgeoroutesegment.cpp
    qgeoroutingmanager.cpp
    qgeoroutingmanagerengine.cpp
    qgeoserviceprovider.cpp
    qgeoserviceproviderfactory.cpp
    qgeotilecache.cpp
    qgeotiledmapreply.cpp
    qgeotilespec.cpp
    Generating Code...
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.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 should i do now?
    (Am i have to re-Run init-repository command with --no-webkit command ?)



  • I would run init-repository again, using --module-subset to limit the build to the modules I really need now.
    For example, my current Qt5 build contains only qtbase,qtjsbackend,qtxmlpatterns,qtscript,qtdeclarative.

    Yes, init-repository != configure. However, not cloning modules you do not need is a good way to skip their build when you run make inside qt5 root dir ;)



  • Thanks! now i have compiled qt5!



  • @mreza Could you build QtWebKit for Qt5 on Windows 7?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.