Both lib ++ and libstd ++ have std::experimental::filesystem in recent versions. I do not know that I have std::filesystem ; C ++ 17 has not yet been released, which seems reasonable.
boost has boost::filesystem , which differs in several ways, but is structured almost identically. Code written to use boost::filesystem can be relatively easily ported to std::filesystem .
As an example of incompatibility, boost has an exclusive flag jumper, and std has a multiple field listing a multiple flag with additional settings.
You may need to pass -std=c++1z to the compiler, check the version of libc++ or libstdc++ , switch the one you are using, install a new one, etc. Or install boost and use your file system library, which C ++ 17s was based on.
Yakk source share