Details
-
Bug
-
Resolution: Out of scope
-
P4: Low
-
None
-
5.2.0
-
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
- is replaced by
-
QTBUG-35980 Compilation of Qt 5.2 winextras fails on Windows 7 with MSVC 2008
- Closed