问题解决方向
网上多数给出的解决方法是找到setup.py,然后修改extra_compile_args参数中的cxx,由'-std=c++14'改为'-std=c++17',但是这个方法在我这里没用。
所以我重新理解了下这个error,应该是说为了编译安装当前的库,需要的c++ compiler是c++17或更高版本才行,那么就需要看你自己的g++/gcc版本,发现当前版本低,不能满足c++17要求后(比方说我的g++版本是5.x.0,适配c++14,所以需要更高版本),所以切换编译器版本即可。
解决方法
1. 查看gcc/g++版本
gcc --version
gcc=5.x.0,适配C++14特性
gcc=9.x.0,适配C++20特性
g++ --version
g++=5.x,适配C++14特性
g++=9.x,适配C++20特性
2. 切换gcc/g++版本
sudo update-alternatives --config g++
我的g++版本是5.4.0,是列表中默认选项第0个(selection字段下星号的一行)的g++-5,除了默认版本以外还有g++-9版本(列表第2个),g++=9.x.0是适配C++20的,囊括了C++17,所以可以选择。
选择了g++-9版本后,再查看g++版本就换成了9.4.0
gcc同理可换。