shiiion / Ishiiruka

GNU General Public License v2.0
47 stars 6 forks source link

Update DiscExtractor.h #11

Closed rgambord closed 4 years ago

rgambord commented 4 years ago

Fix: string is not a member of std

SirMangler commented 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.

rgambord commented 4 years ago

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.

shiiion commented 4 years ago

Looked into it on VS. Seems that /std:c++latest (effectively c++20) and /std:c++17 is what made the change here. was the header that was including . The path was <functional> ==(C++17 check)==> <unordered_map> ==> <xhash> ==> <xstring> If it makes things build for latest, I'll accept this.