我想尝试一些非常新的C++20特性。其中一些仅受GCC10支持。不幸的是,最新的版本是GCC9.3,所以我需要使用GCC10的未发布版本。
我做了以下操作来安装它:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gcc-10 g++-10这样做效果很好。但是,我无法将其设置为默认编译器。像往常一样,我试着:
sudo update-alternatives --config gcc这意味着别无选择。为什么?
发布于 2020-04-30 13:28:47
您可以手动完成此操作:
cd /usr/local/bin
sudo ln -s /usr/bin/gcc-10 gcc
sudo ln -s /usr/bin/g++-10 g++然后打开一个新的终端窗口,和gcc应该指的是gcc-10。它应该适用于简单的情况。如果没有,你将不得不为所有的GCC 10可执行文件和库创建所有适当的符号链接……
我认为最好的选择是编译自己的GCC 10,并将其安装在您的主目录中。这就是我在我的极简主义Gentoo安装上所做的,我想它也可以在Ubuntu上工作:
mkdir ~/src
cd ~/src
git clone https://github.com/gcc-mirror/gcc.git
mkdir gcc_build
cd gcc_build
../gcc/configure --enable-libsanitizer --prefix=~/usr --with-gcc-major-version-only --disable-bootstrap --enable-language=c,c++,lto
make -j16
make install -j16编译可能会持续大约10分钟。考虑根据您的机器调整-j16选项:这是make同时启动的作业数。使用CPU支持的两倍数量的并行线程是一个很好的选择。然后将适当的环境变量添加到~/.bashrc文件中:
export LD_LIBRARY_PATH=~/usr/lib64:~/usr/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=~/usr/lib64:~/usr/lib:$LIBRARY_PATH
export LD_RUN_PATH=~/usr/lib64:~/usr/lib:$LD_RUN_PATH
export PATH=~/usr/bin:$PATH当您不想再使用gcc-10时,注释掉这些行并打开一个新的终端。
https://stackoverflow.com/questions/61441784
复制相似问题