之前为了编译cuda,需要用低版本的g++,就安装了g++-5,并且通过如下命令提高了它的优先级,使它成为默认的g++:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
所以cmake就默认用g++5了,但好像最新的软件都不支持老版本的g++了,就会报错expected '{' before _GLIBCXX_VISIBILITY,
所以只需要将默认的g++版本换回最新的g++-7就好了:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 80 --slave /usr/bin/g++ g++ /usr/bin/g++-5