Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646
7596 Discussions

WIN64: 'field_at_offset: field not found ... _Getimpl()->_Delete_this(!_Local())' error for QtCreator builds using Windows ICC

sav
Novice
226 Views

Hello, everyone,

For QtCreator builds using Windows ICC got error:

        cd help\ && ( if not exist Makefile C:\libQT-5.12-dev\ICC64RH\bin\qmake.exe -o Makefile C:\QTCREATOR-4.8.0-dev\build\src\plugins\help\help.pro "CONFIG-=precompile_header" "QTC_PREFIX=C:\QTCREATOR-4.8.0-dev\build\..\ICC64RH" ) && C:\Windows\jom.exe -f Makefile
        C:\Windows\jom.exe -f Makefile.Release
        icl -c -nologo -Zc:wchar_t -Qprec -Zm200 -Zc:forScope -O2 -MD -W3 -Qdiag-disable:673,809,1738,1744,3373 -w44996 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -D"RELATIVE_PLUGIN_PATH=\"../lib/qtcreator/plugins\"" -D"RELATIVE_LIBEXEC_PATH=\".\"" -D"RELATIVE_DATA_PATH=\"../share/qtcreator\"" -D"RELATIVE_DOC_PATH=\"../share/doc/qtcreator\"" -DIDE_LIBRARY_BASENAME=\"lib\" -DQT_CREATOR -DQT_NO_CAST_TO_ASCII -DQT_RESTRICTED_CAST_FROM_ASCII -DQT_DISABLE_DEPRECATED_BEFORE=0x050600 -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_CRT_SECURE_NO_WARNINGS -DQT_CLUCENE_SUPPORT -DHELP_LIBRARY -DQT_NO_DEBUG -DQT_FORCE_ASSERTS -DQT_PLUGIN -DQT_HELP_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DNDEBUG -D_WINDLL -I. -I..\..\..\src -I..\..\..\src -I..\..\libs -IC:/QTCREATOR-4.8.0-dev/build/tools -I..\..\plugins -I..\..\libs -I. -I..\..\shared\help -I..\..\shared -IC:\libQT-5.12-dev\ICC64RH\include -IC:\libQT-5.12-dev\ICC64RH\include\QtHelp -IC:\libQT-5.12-dev\ICC64RH\include\QtPrintSupport -IC:\libQT-5.12-dev\ICC64RH\include\QtWidgets -IC:\libQT-5.12-dev\ICC64RH\include\QtGui -IC:\libQT-5.12-dev\ICC64RH\include\QtANGLE -IC:\libQT-5.12-dev\ICC64RH\include\QtSql -IC:\libQT-5.12-dev\ICC64RH\include\QtNetwork -IC:\libQT-5.12-dev\ICC64RH\include\QtConcurrent -IC:\libQT-5.12-dev\ICC64RH\include\QtCore -Irelease -I. -I"C:\Program Files (x86)\VulkanSDK\include" -IC:\libQT-5.12-dev\ICC64RH\mkspecs\win32-icc -Forelease\ @C:\Users\test\AppData\Local\Temp\searchwidget.obj.2016.47.jom
searchwidget.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\functional(1390): internal error: field_at_offset: field not found
                        _Getimpl()->_Delete_this(!_Local());
                        ^

jom: C:\QTCREATOR-4.8.0-dev\build\src\plugins\help\Makefile.Release [release\searchwidget.obj] Error 4
jom: C:\QTCREATOR-4.8.0-dev\build\src\plugins\help\Makefile [release] Error 2
jom: C:\QTCREATOR-4.8.0-dev\build\src\plugins\Makefile [sub-help-make_first] Error 2
jom: C:\QTCREATOR-4.8.0-dev\build\src\Makefile [sub-plugins-make_first-ordered] Error 2
jom: C:\QTCREATOR-4.8.0-dev\build\Makefile [sub-src-make_first-ordered] Error 2

A test case to reproduce error added in attachment.

Reproduced for:

  • builds using Windows ICC,

not reproduced for:

  • builds using mingw-w64 and MSVC.

Environment:

Qt Developers believe it's a compiler bug.

 

Best,

Alexander

 

0 Kudos
3 Replies
Viet_H_Intel
Moderator
226 Views

ICC 2018 update 3 was built o May/21/2018 and MSVC 2017 15.7.3 was released on May/31/2018. Hence, it's possible that something changes in VS15.7.3 that ICC didn't know. If you used an older VS2017 (i.e. 15.6*), will you able to compile the file with MS compiler?

 

Thanks,

Viet

sav
Novice
226 Views

Hello, Viet,

Unfortunately I'm unable to revert to the earlier MSVC versions, because it would break many things.

But didn't you succeeded to reproduce error using provided testcase?

 

Best,

Alexander

Viet_H_Intel
Moderator
226 Views

No, I haven't yet tried the test case as I dont have the same setup as yours.

But rule of thumb is don't use MSVC version that releases after compiler released date. 

Regards,

Viet 

 

Reply