When cross compile in Linux with Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v20_clang-13.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++, the gcc(4.8.5) version is too old for most c++ thirdparty now.
#./clang++ -v
clang version 13.0.1
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /data/UE/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v20_clang-13.0.1-centos7/x86_64-unknown-linux-gnu/bin/.
Found candidate GCC installation: /data/UE/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v20_clang-13.0.1-centos7/x86_64-unknown-linux-gnu/bin/./../lib/gcc/x86_64-unknown-linux-gnu/4.8.5
Selected GCC installation: /data/UE/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v20_clang-13.0.1-centos7/x86_64-unknown-linux-gnu/bin/./../lib/gcc/x86_64-unknown-linux-gnu/4.8.5
Candidate multilib: .;@m64
Selected multilib: .;@m64
The compile error for GRPC 1.51.1, for example:
In file included from vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/ext/filters/client_channel/client_channel_plugin.cc:21:
In file included from vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/ext/filters/client_channel/client_channel.h:40:
In file included from vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/ext/filters/client_channel/client_channel_factory.h:24:
In file included from vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/ext/filters/client_channel/subchannel.h:37:
In file included from vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/ext/filters/client_channel/client_channel_channelz.h:35:
In file included from vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/lib/channel/channel_trace.h:31:
vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/lib/gprpp/ref_counted_ptr.h:58:16: error: no member named 'exchange' in namespace 'std'
reset(std::exchange(other.value_, nullptr));
~~~~~^
vcpkg/buildtrees/grpc/src/v1.51.1-1066d25324.clean/src/core/lib/gprpp/ref_counted_ptr.h:63:16: error: no member named 'exchange' in namespace 'std'
reset(std::exchange(other.value_, nullptr));
~~~~~^
Shall we plan to Upgrdate the gcc version to support c++17(or higher version)?
thanks for your help.