Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-36037

WinExtras do not compile with MSVC 2008 + WinSDK 7.1

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P4: Low
    • None
    • 5.2.0
    • Extras: Win
    • None
    • Windows 7 64-bit, Microsoft Visual Studio 2008 (compiling in 32-bit mode)

    Description

      I am trying to compile QT 5.2.0 (32-bit) with Microsoft VC2008. I configured it with this command...

      configure.bat -prefix c:\Qt\5.2.0 -platform win32-msvc2008 -debug-and-release -opensource -confirm-license -ltcg -openssl -I C:\Qt\OpenSSL\include -L C:\Qt\OpenSSL\lib -skip webkit -skip webkit-examples -nomake examples -nomake tests -mp -opengl desktop -no-angle -saveconfig win32-msvc2008 
      

      I am getting the following error

              cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -MP -GR -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_BUILD_WINEXTRAS_LIB -DQT_BUILDI
      NG_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_D
      EPRECATED_BEFORE=0x040800 -D_USE_MATH_DEFINES -DNTDDI_VERSION=0x06010000 -D_WIN32_WINNT=0x0601 -DQT_NO_EXCEPTIONS -DQT_GUI_LIB -DQT_
      CORE_LIB -I"C:\Qt\OpenSSL\include" -I"..\..\include" -I"..\..\include\QtWinExtras" -I"..\..\include\QtWinExtras\5.2.0" -I"..\..\incl
      ude\QtWinExtras\5.2.0\QtWinExtras" -I"tmp" -I"C:\Qt\5.2.0\qtbase\include" -I"C:\Qt\5.2.0\qtbase\include\QtGui" -I"C:\Qt\5.2.0\qtbase
      \include\QtCore" -I".moc\debug" -I"C:\Qt\5.2.0\qtbase\mkspecs\win32-msvc2008" -Fo.obj\debug\ @D:\Temp\nmE2B8.tmp
      qwinfunctions.cpp
      qwinfunctions_p.cpp
      qwintaskbarbutton.cpp
      qwintaskbarprogress.cpp
      windowsguidsdefs.cpp
      qwinjumplist.cpp
      qwinjumplistcategory.cpp
      qwinjumplistitem.cpp
      qwineventfilter.cpp
      qwinthumbnailtoolbar.cpp
      qwinthumbnailtoolbutton.cpp
      qwinevent.cpp
      C:\Program Files\Microsoft SDKs\Windows\v7.1\include\shlobj.h(2947) : error C2011: 'SHARDAPPIDINFOLINK' : 'struct' type redefinition
      
              c:\qt\5.2.0\qtwinextras\src\winextras\winshobjidl_p.h(228) : see declaration of 'SHARDAPPIDINFOLINK'
      .\qwinjumplistcategory.cpp(130) : error C2079: 'info' uses undefined struct 'SHARDAPPIDINFOLINK'
      .\qwinjumplistcategory.cpp(131) : error C2228: left of '.pszAppID' must have class/struct/union
              type is 'int'
      .\qwinjumplistcategory.cpp(132) : error C2228: left of '.psl' must have class/struct/union
              type is 'int'
      .\qwinjumplistcategory.cpp(133) : error C2228: left of '.psl' must have class/struct/union
              type is 'int'
      .\qwinjumplistcategory.cpp(135) : error C2228: left of '.psl' must have class/struct/union
              type is 'int'
      .\qwinjumplistcategory.cpp(135) : error C2227: left of '->Release' must point to class/struct/union/generic type
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\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.
      

      Looking at winshobjidl_p.h, it seems that it checks if _MSC_VER < 1600, and if so creates its own version of SHARDAPPIDINFOLINK. My _MSC_VER report 1500, but SHARDAPPIDINFOLINK is defined in shlobj.h in the Platform SDK.

      If I change the #if to "_MSC_VER < 1500" then it compiles, however I'm not sure if this is the correct solution. It probably needs to check if the Platform SDK is installed, but I'm not sure on the correct way to do that.

      Thanks
      Alan.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              cs96and Alan Davies
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes