Project

General

Profile

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.

    (1-4/4)