So I installed the Engine this weekend after a long hiatus. This time I am working on Linux. The setup was simple enough and I am using VSCode for source editing. However, intellisense was complaining about “namespace ‘std’ has no member ‘is_const_v’” among other things. Apparently Intellisense was using an outdated C++ standard.
It took took my a while to reach that conclusion, however, and a longer time to discover why this was happening. In the end, it turned out that in the c_cpp_properties file, where the compiler_path is declared, it tries to use an included version of clang++: “Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin/clang++”
If I switch it to mine, which located at /usr/bin/clang++, then suddenly no more complaints about modern C++ stuff.
I checked versions, and the one provided by Unreal is 16.0.6 while mine is 16.0.6-2. So I don’t really think that is the issue. In any case, I just wanted to put it out there to see if this is known, or there’s some configuration to tweak somewhere to make the Unreal provided clang++ to work properly.
I guess I can just set the configuration to my system clang++ but I suspect this is going to be one of those things that get reset all the time and will become a headache pretty quickly.