Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.5.0
-
Intel C++ Compiler 2015 Update4 integrated with VS 2013 Update 5 on Windows 8.1 x64
-
2806d1c00a72f093714ba9187ee1a0e463058ec2
Description
I am a customer and user of IntelĀ® Parallel Studio XE Professional Edition for C++ Windows. I have used Qt 4.6.2 and the Intel C++ Compiler for years, integrated with VS 2008 on Windows XP/Vista/7/8.1, but now it's time for me to migrate to VS 2013 since Intel is not supporting VS 2008 anymore. I have been trying to compile Qt 5.5.0 in Intel64 mode and have run into many difficulties.
I eventually got Qt 5.5.0 to compile with the Intel C++ Compiler in Update4 of the Composer package, integrated with VS 2013 Update5. To do this, I had to carefully exclude a number of modules at the configuration stage, and ended up configuring as follows:
configure.bat -platform win32-icc -opensource -confirm-license -debug-and-release -opengl desktop -no-angle -no-icu -c++11 -skip qtwebengine -skip qtwebchannel -skip qtwayland -skip qtwebkit -skip qtwebkit-examples -skip qtdeclarative -nomake tests -nomake examples
I also had to make a couple of changes to the file qcompilerdetection.h. I started with a version that resulted from a previous bug fix,
https://codereview.qt-project.org/#/c/121595/
and made a few more changes to account for the fact that apparently neither MSVC++ 2013 nor ICL support C++11 constexpr. I've attached the original and my modified version for comparison.
The build finally completed without errors, but every .exe that is created (e.g. designer.exe, assistant.exe, linguist.exe) crashes immediately on startup. This leaves the following entry in the Windows event log:
Faulting application name: designer.exe, version: 1.0.0.0, time stamp: 0x55d4a1df Faulting module name: Qt5Gui.dll, version: 5.5.0.0, time stamp: 0x55d48d34 Exception code: 0xc0000005 Fault offset: 0x00000000006850f5 Faulting process id: 0x5b8 Faulting application start time: 0x01d0daadb7408ac1 Faulting application path: C:\Qt\5.5.0\qtbase\bin\designer.exe Faulting module path: C:\Qt\5.5.0\qtbase\bin\Qt5Gui.dll Report Id: f504ee37-46a0-11e5-8267-8cdcd42c37a6 Faulting package full name: Faulting package-relative application ID:
And when run using Dependency Walker x64, the following lines from the log are written in red:
GetProcAddress(0x00007FFA7C1B0000 [KERNEL32.DLL], "GetFileInformationByHandleExW") called from "MSVCR120.DLL" at address 0x00007FFA6190E838 and returned NULL. Error: The specified procedure could not be found (127). GetProcAddress(0x00007FFA7C1B0000 [KERNEL32.DLL], "SetFileInformationByHandleW") called from "MSVCR120.DLL" at address 0x00007FFA6190E856 and returned NULL. Error: The specified procedure could not be found (127). LoadLibraryW("C:\windows\system32\wintab32.dll") returned NULL. Error: The specified module could not be found (126). Second chance exception 0xC0000005 (Access Violation) occurred in "QT5GUI.DLL" at address 0x00007FFA598A50F5.
There is also a warning that shows up in the make log about a million times:
warning #31001: The dll for reading and writing the pdb (for example, mspdb110.dll) could not be found on your path. This is usually a configuration error. Compilation will continue using /Z7 instead of /Zi, but expect a similar error when you link your program.
but I doubt this is related to the main problem.