[
https://issues.apache.org/jira/browse/ORC-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17420918#comment-17420918
]
noirello commented on ORC-1009:
-------------------------------
It looks like it's only a problem for newer msvc compiler (ver 19.29)
> [C++] Missing string include causes build failure with MSVC++
> -------------------------------------------------------------
>
> Key: ORC-1009
> URL: https://issues.apache.org/jira/browse/ORC-1009
> Project: ORC
> Issue Type: Bug
> Affects Versions: 1.7.0
> Reporter: noirello
> Assignee: noirello
> Priority: Major
>
> The header file of ExpressionTree is missing a string include, which causes
> failure, when trying to build the library on Windows with msvc++.
> Snippet from the error log:
> {code:java}
> -- Building for: Visual Studio 16 2019
> -- The C compiler identification is MSVC 19.29.30133.0
> -- The CXX compiler identification is MSVC 19.29.30133.0
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual
> Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe -
> skipped
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual
> Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe -
> skipped
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Build type: DEBUG
> -- compiler MSVC version 19.29.30133.0
> ...
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.hh(71,10): error C2039:
> 'string': is not a member of 'std'
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> C:\Program Files (x86)\Microsoft Visual
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vector(24): message
> : see declaration of 'std' [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.hh(71,17): error C3646:
> 'toString': unknown override specifier
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.hh(71,25): error C2059:
> syntax error: '(' [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.hh(71,33): error C2238:
> unexpected token(s) preceding ';'
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.hh(41): message : see
> declaration of 'orc::ExpressionTree'
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(160,48): error C2270:
> 'toString': modifiers not allowed on nonmember functions
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(162,13): error C2065:
> 'mOperator': undeclared identifier
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(162,24): error C2050:
> switch expression not integral
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(163,12): error C2653:
> 'Operator': is not a class or namespace name
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(163,22): error C2065:
> 'OR': undeclared identifier
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(165,34): error C2065:
> 'mChildren': undeclared identifier
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(165,34): error C2672:
> 'begin': no matching overloaded function found
> [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> D:\a\1\s\deps\orc-1.7.0\c++\src\sargs\ExpressionTree.cc(165,45): error C2893:
> Failed to specialize function template 'unknown-type std::begin(_Container
> &)' [D:\a\1\s\deps\orc-1.7.0\build\c++\src\orc.vcxproj]
> ##[error]Cmd.exe exited with code '1'.
> {code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)