Opened 5 years ago
Last modified 4 years ago
#13499 new Bugs
Intel Compiler 2018 Windows error: overloaded function "boost::scope_exit::detail::deref" is not a type name
Reported by: | Owned by: | Lorenzo Caminiti | |
---|---|---|---|
Milestone: | To Be Determined | Component: | scope_exit |
Version: | Boost 1.65.0 | Severity: | Problem |
Keywords: | icl, Intel, Compiler, Windows, build, BOOST_SCOPE_EXIT | Cc: |
Description
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 thrift, a library that uses boost 1.65.1. I start the build from the Intel Compiler console. The build fails with errors:
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((&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((&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((&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((&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((&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((&doneSubmittingEvent)) { SetEvent(doneSubmittingEvent.h); } ^ compilation aborted for D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp (code 2)
I am under the impression that this error is related to boost, is that correct? Is there a workaround or solution?
Note:
See TracTickets
for help on using tickets.