[ https://issues.apache.org/jira/browse/THRIFT-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723373#comment-16723373 ]
James E. King III commented on THRIFT-4680: ------------------------------------------- I'll submit a PR shortly. > TBufferTransports.h does not compile under Windows 10 > ----------------------------------------------------- > > Key: THRIFT-4680 > URL: https://issues.apache.org/jira/browse/THRIFT-4680 > Project: Thrift > Issue Type: Bug > Components: C++ - Library > Affects Versions: 0.11.0 > Reporter: Sebastian Stüker > Assignee: James E. King III > Priority: Critical > > When compiling under Windows 10 and including TBufferTransports.h, > compilation fails with > Error C2589 '(': illegal token on right side of '::' (compiling source > file [...]) > [...]\thrift-0.11.0\lib\cpp\src\thrift\transport\tbuffertransports.h 452 > The error seems to be caused by the fact that in windows.h a macro max is > defined. > Possible work arounds are to define NOMINMAX in order to prevent windows.h to > define the macro max. > Alternatively, before the statement on line 452 undefine the macro > {{#undef max}} > {{maxBufferSize_ = std::numeric_limits<uint32_t>::max()}} > However, I would prefer a version, where it is checked whether max is defined > as a macro, and if so, to use the other, correct syntax for this case of: > {{maxBufferSize_ = (std::numeric_limits<uint32_t>::max)();}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)