Closed rgambord closed 4 years ago
To be clear, is this stopping you from compiling?
This is strange. We haven't modified this file, so this change shouldn't be necessary. What operating system and toolchain are you compiling on? I have compiled on ubuntu (using cmake) and Windows (compiled with msvc) and have never ran into this problem and haven't seen this reported until now.
Hi, yes, this causes make to fail. It's probable that whatever version of libraries you are using provides string
transitively through one of the three existing includes: functional
, optional
, or ../Common/CommonTypes.h -> cstdint
.
This is on arch, updated on Friday.
$uname -a Linux *** 5.8.3-arch1-1 #1 SMP PREEMPT Fri, 21 Aug 2020 16:54:16 +0000 x86_64 GNU/Linux
$gcc --version gcc (GCC) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Looked into it on VS. Seems that /std:c++latest (effectively c++20) and /std:c++17 is what made the change here. <functional> ==(C++17 check)==> <unordered_map> ==> <xhash> ==> <xstring>
If it makes things build for latest, I'll accept this.
Fix: string is not a member of std