Boost C++ Libraries: Ticket #13499: Intel Compiler 2018 Windows error: overloaded function "boost::scope_exit::detail::deref" is not a type name https://svn.boost.org/trac10/ticket/13499 <p> Im using the Intel Compiler 2018 from Parallel Studio XE 2018 Update 2 Composer Edition together with Visual Studio Community Edition 2015 Update 3 to build <em>thrift</em>, a library that uses boost 1.65.1. I start the build from the Intel Compiler console. The build fails with errors: </p> <pre class="wiki">FAILED: lib/cpp/CMakeFiles/thrift_static.dir/src/thrift/windows/OverlappedSubmissionThread.cpp.obj D:\bda-ci\IntelSWTools\compilers_and_libraries\windows\bin\intel64\icl.exe /TP -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DBOOST_TEST_DYN_LINK -DFORCE_BOOST_SMART_PTR -DNOMINMAX -DUSE_STD_THREAD=1 -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\cpp -ID:\Debug\Shared\thrift-0.11.0\lib\cpp -I. -ID:\Debug\Shared\thrift-0.11.0\lib\cpp\src -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt" -ID:\Debug\Shared\include /MDd /Zi /arch:SSE4.2 -I/d/Debug/Shared/include /DDEBUG /DWINVER=_WIN32_WINNT_WIN7 /D_WIN32_WINNT=_WIN32_WINNT_WIN7 /Qwd1744 /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 /MP /W3 /FIinttypes.h -DUNICODE -D_UNICODE -Qstd=c++11 /showIncludes /Folib\cpp\CMakeFiles\thrift_static.dir\src\thrift\windows\OverlappedSubmissionThread.cpp.obj /Fdlib\cpp\CMakeFiles\thrift_static.dir\thrift_static.pdb -c D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.2.185 Build 20180210 Copyright (C) 1985-2018 Intel Corporation. All rights reserved. D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62): error: overloaded function "boost::scope_exit::detail::deref" is not a type name BOOST_SCOPE_EXIT((&amp;doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62): error: expected a ")" BOOST_SCOPE_EXIT((&amp;doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62): error: expected a type specifier BOOST_SCOPE_EXIT((&amp;doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62): error #303: explicit type is missing ("int" assumed) BOOST_SCOPE_EXIT((&amp;doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62): error: expected a ";" BOOST_SCOPE_EXIT((&amp;doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62): error: identifier "boost_se_capture_t_0_62" is undefined BOOST_SCOPE_EXIT((&amp;doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ compilation aborted for D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp (code 2) </pre><p> I am under the impression that this error is related to boost, is that correct? Is there a workaround or solution? </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13499 Trac 1.4.3 John Maddock Thu, 10 May 2018 16:37:00 GMT component changed; owner set https://svn.boost.org/trac10/ticket/13499#comment:1 https://svn.boost.org/trac10/ticket/13499#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Lorenzo Caminiti</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">scope_exit</span> </li> </ul> Ticket