Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

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

sav
Novice
721 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
721 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

0 Kudos
sav
Novice
721 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

0 Kudos
Viet_H_Intel
Moderator
721 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 

 

0 Kudos
Reply