I'm trying to compile a project on windows under MinGW with Clang 16.0.4.
As a result, I get this error:
error: no type named 'time_zone' in namespace 'std::chrono'
In my CMakeLists I have this set:
set (CMAKE_CXX_STANDARD 20)
set (CMAKE_C_STANDARD 17)
Also, I've tried changing that gnu++20 to normal c++20 standard with CMAKE_CXX_EXTENSIONS OFF, but this doesn't make any difference in the end.
What should I do? Maybe consider some non-standard replacement for time zones?
You need the g++ 13 standard library to get std::chrono::time_zone. You most likely have an older version of the g++ standard library installed - which is what clang++ uses by default.
The standard library provided by clang++16.0.4 itself (-stdlib=libc++) does not include time_zone either.
Options:
g++ and make clang++ use its standard library.date.h + tz.h and use that.clang++ and its standard library from the latest source. That includes std::chrono::time_zone.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With