c++17 and std::binary_function
Added by Gunnar Skogsholm over 7 years ago
I'm using a version of Wt 4 from May 2017. When I switched from c+14 to c+17, I get:
1>c:\dev\couloir\3plibs\wt-4\src\wt\http\Request(31): error C2039: 'binary_function': is not a member of 'std' (compiling source file Wt\FlexLayoutImpl.C)
code at that location:
#ifndef WT_TARGET_JAVA
struct ci_comp : std::binary_function<std::string, std::string, bool>{
Looking at Request.C and Request.h from the latest 4 RC code, it looks quite different.
Question: have you tried building the latest Wt 4 with /std:c++17 /permissive- ?
I don't want to spend time integrating with a new version if there are other build problems.
Replies (4)
RE: c++17 and std::binary_function - Added by Roel Standaert over 7 years ago
I haven't tried that yet, but that code was actually unused, and I removed it a while ago, so the latest RC doesn't have that code anymore.
RE: c++17 and std::binary_function - Added by Gunnar Skogsholm over 7 years ago
Yes, as I said, I saw that the code in that area was quite different.
I'd like to know the results of a msvc c++17 permissive- test.
I would imagine that if it builds with clang, msvc should be clean.
RE: c++17 and std::binary_function - Added by Roel Standaert over 7 years ago
It seems that some of the Boost includes won't compile with /permissive-
yet.
RE: c++17 and std::binary_function - Added by Gunnar Skogsholm over 7 years ago
Strange, since this (http://en.cppreference.com/w/cpp/compiler_support) implies that clang and gcc have more conformance to the standard.