为研究C++20语法,在ubuntu22上安装支持g++13和gcc13

小编想了解一下,C++20的特性.。首先需要有一个能全面支持该语法的编译器,目前,市面上最新的ubuntu平台编译器就是g++13和gcc13,本文就展示了ubuntu22安装上述编译器的过程。

1. 安装 build-essential

sudo apt install build-essential

安装完检查 /usr/bin/ 下是否有 gcc, g++, gcc-11, g++11.

2. 添加 ppa 源

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

3. 安装 gcc-13 和 g++-13

sudo apt install gcc-13
sudo apt install g++-13

4. 设定优先级

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13

5. 检查 gcc 和 g++ 的版本

gcc -v
g++ -v

附:ubuntu使用国内PPA源(下载提速方法)

中科大代理 PPA地址: launchpad.proxy.ustclug.org

  1. 修改 /etc/apt/sources.list.d 下面需要代理的仓库地址,将 ppa.launchpad.net 换成 launchpad.proxy.ustclug.org,如下所示:
# deb https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu/ jammy main
deb https://launchpad.proxy.ustclug.org/ubuntu-toolchain-r/test/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu/ jammy main
  1. sudo apt update
  2. sudo apt install xxx

参考:ubuntu使用国内PPA源

 

如果想更多了解PPA,可以查看下面:

Ubuntu PPA 使用指南 | Linux 中国

[Ubuntu] 添加/删除 ppa 仓库_如何去掉ppa:deadsnakes/ppa-CSDN博客

附: 设定优先级效果展示(安装过程剖析)

这个部分是把上面第3、4和5步的执行效果展示了一下,顺便体会一下这个过程。

  • sudo apt install gcc-13,执行完这个之后的效果:
ubuntu@ubuntu-virtual-machine bin % ls -lt | grep -E "gcc|g\+\+"                                       [0]
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-14 -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-13 -> ../lib/llvm-13/bin/clang++
lrwxrwxrwx 1 root root          23  7月 11  2023 gcc-13 -> x86_64-linux-gnu-gcc-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-ar-13 -> x86_64-linux-gnu-gcc-ar-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-nm-13 -> x86_64-linux-gnu-gcc-nm-13
lrwxrwxrwx 1 root root          30  7月 11  2023 gcc-ranlib-13 -> x86_64-linux-gnu-gcc-ranlib-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-gcc-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ar-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-nm-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ranlib-13
lrwxrwxrwx 1 root root          23  5月 13  2023 g++-11 -> x86_64-linux-gnu-g++-11
lrwxrwxrwx 1 root root          23  5月 13  2023 gcc-11 -> x86_64-linux-gnu-gcc-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
lrwxrwxrwx 1 root root          30  5月 13  2023 gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root      932680  5月 13  2023 x86_64-linux-gnu-g++-11
-rwxr-xr-x 1 root root      928584  5月 13  2023 x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ranlib-11
lrwxrwxrwx 1 root root          26  4月  2  2022 clang++ -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root           6  8月  5  2021 g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-11
-rwxr-xr-x 1 root root         428 11月 18  2020 c89-gcc
-rwxr-xr-x 1 root root         454 11月 18  2020 c99-gcc
  • sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11,执行完这个之后的效果:

ubuntu@ubuntu-virtual-machine bin % ls -lt | grep -E "gcc|g\+\+"                                       [0]
lrwxrwxrwx 1 root root          21  1月 26 22:50 gcc -> /etc/alternatives/gcc
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-14 -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-13 -> ../lib/llvm-13/bin/clang++
lrwxrwxrwx 1 root root          23  7月 11  2023 gcc-13 -> x86_64-linux-gnu-gcc-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-ar-13 -> x86_64-linux-gnu-gcc-ar-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-nm-13 -> x86_64-linux-gnu-gcc-nm-13
lrwxrwxrwx 1 root root          30  7月 11  2023 gcc-ranlib-13 -> x86_64-linux-gnu-gcc-ranlib-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-gcc-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ar-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-nm-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ranlib-13
lrwxrwxrwx 1 root root          23  5月 13  2023 g++-11 -> x86_64-linux-gnu-g++-11
lrwxrwxrwx 1 root root          23  5月 13  2023 gcc-11 -> x86_64-linux-gnu-gcc-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
lrwxrwxrwx 1 root root          30  5月 13  2023 gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root      932680  5月 13  2023 x86_64-linux-gnu-g++-11
-rwxr-xr-x 1 root root      928584  5月 13  2023 x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ranlib-11
lrwxrwxrwx 1 root root          26  4月  2  2022 clang++ -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root           6  8月  5  2021 g++ -> g++-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-11
-rwxr-xr-x 1 root root         428 11月 18  2020 c89-gcc
-rwxr-xr-x 1 root root         454 11月 18  2020 c99-gcc
  • sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13,执行完这个之后的效果:
ubuntu@ubuntu-virtual-machine bin % ls -lt | grep -E "gcc|g\+\+"                                       [0]
lrwxrwxrwx 1 root root          21  1月 26 22:50 gcc -> /etc/alternatives/gcc
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-14 -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-13 -> ../lib/llvm-13/bin/clang++
lrwxrwxrwx 1 root root          23  7月 11  2023 gcc-13 -> x86_64-linux-gnu-gcc-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-ar-13 -> x86_64-linux-gnu-gcc-ar-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-nm-13 -> x86_64-linux-gnu-gcc-nm-13
lrwxrwxrwx 1 root root          30  7月 11  2023 gcc-ranlib-13 -> x86_64-linux-gnu-gcc-ranlib-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-gcc-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ar-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-nm-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ranlib-13
lrwxrwxrwx 1 root root          23  5月 13  2023 g++-11 -> x86_64-linux-gnu-g++-11
lrwxrwxrwx 1 root root          23  5月 13  2023 gcc-11 -> x86_64-linux-gnu-gcc-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
lrwxrwxrwx 1 root root          30  5月 13  2023 gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root      932680  5月 13  2023 x86_64-linux-gnu-g++-11
-rwxr-xr-x 1 root root      928584  5月 13  2023 x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ranlib-11
lrwxrwxrwx 1 root root          26  4月  2  2022 clang++ -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root           6  8月  5  2021 g++ -> g++-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-11
-rwxr-xr-x 1 root root         428 11月 18  2020 c89-gcc
-rwxr-xr-x 1 root root         454 11月 18  2020 c99-gcc
  • sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11,执行完这个之后的效果:
ubuntu@ubuntu-virtual-machine bin % sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11   
update-alternatives: using /usr/bin/g++-11 to provide /usr/bin/g++ (g++) in auto mode

ubuntu@ubuntu-virtual-machine bin % ls -lt | grep -E "gcc|g\+\+"                                       [0]
lrwxrwxrwx 1 root root          21  1月 26 22:55 g++ -> /etc/alternatives/g++
lrwxrwxrwx 1 root root          21  1月 26 22:50 gcc -> /etc/alternatives/gcc
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-14 -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-13 -> ../lib/llvm-13/bin/clang++
lrwxrwxrwx 1 root root          23  7月 11  2023 gcc-13 -> x86_64-linux-gnu-gcc-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-ar-13 -> x86_64-linux-gnu-gcc-ar-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-nm-13 -> x86_64-linux-gnu-gcc-nm-13
lrwxrwxrwx 1 root root          30  7月 11  2023 gcc-ranlib-13 -> x86_64-linux-gnu-gcc-ranlib-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-gcc-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ar-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-nm-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ranlib-13
lrwxrwxrwx 1 root root          23  5月 13  2023 g++-11 -> x86_64-linux-gnu-g++-11
lrwxrwxrwx 1 root root          23  5月 13  2023 gcc-11 -> x86_64-linux-gnu-gcc-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
lrwxrwxrwx 1 root root          30  5月 13  2023 gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root      932680  5月 13  2023 x86_64-linux-gnu-g++-11
-rwxr-xr-x 1 root root      928584  5月 13  2023 x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ranlib-11
lrwxrwxrwx 1 root root          26  4月  2  2022 clang++ -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-11
-rwxr-xr-x 1 root root         428 11月 18  2020 c89-gcc
-rwxr-xr-x 1 root root         454 11月 18  2020 c99-gcc
ubuntu@ubuntu-virtual-machine bin %  
  • sudo apt install g++-13,执行完这个之后的效果:
ubuntu@ubuntu-virtual-machine bin % ls -lt | grep -E "gcc|g\+\+"                                       [0]
lrwxrwxrwx 1 root root          21  1月 26 22:55 g++ -> /etc/alternatives/g++
lrwxrwxrwx 1 root root          21  1月 26 22:50 gcc -> /etc/alternatives/gcc
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-14 -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-13 -> ../lib/llvm-13/bin/clang++
lrwxrwxrwx 1 root root          23  7月 11  2023 g++-13 -> x86_64-linux-gnu-g++-13
lrwxrwxrwx 1 root root          23  7月 11  2023 gcc-13 -> x86_64-linux-gnu-gcc-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-ar-13 -> x86_64-linux-gnu-gcc-ar-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-nm-13 -> x86_64-linux-gnu-gcc-nm-13
lrwxrwxrwx 1 root root          30  7月 11  2023 gcc-ranlib-13 -> x86_64-linux-gnu-gcc-ranlib-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-g++-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-gcc-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ar-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-nm-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ranlib-13
lrwxrwxrwx 1 root root          23  5月 13  2023 g++-11 -> x86_64-linux-gnu-g++-11
lrwxrwxrwx 1 root root          23  5月 13  2023 gcc-11 -> x86_64-linux-gnu-gcc-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
lrwxrwxrwx 1 root root          30  5月 13  2023 gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root      932680  5月 13  2023 x86_64-linux-gnu-g++-11
-rwxr-xr-x 1 root root      928584  5月 13  2023 x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ranlib-11
lrwxrwxrwx 1 root root          26  4月  2  2022 clang++ -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-11
-rwxr-xr-x 1 root root         428 11月 18  2020 c89-gcc
-rwxr-xr-x 1 root root         454 11月 18  2020 c99-gcc
  • sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13,执行完这个之后的效果:
ubuntu@ubuntu-virtual-machine bin % sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13    
update-alternatives: using /usr/bin/g++-13 to provide /usr/bin/g++ (g++) in auto mode
ubuntu@ubuntu-virtual-machine bin % ls -lt | grep -E "gcc|g\+\+"                                       [0]
lrwxrwxrwx 1 root root          21  1月 26 22:55 g++ -> /etc/alternatives/g++
lrwxrwxrwx 1 root root          21  1月 26 22:50 gcc -> /etc/alternatives/gcc
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-14 -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root          26  7月 14  2023 clang++-13 -> ../lib/llvm-13/bin/clang++
lrwxrwxrwx 1 root root          23  7月 11  2023 g++-13 -> x86_64-linux-gnu-g++-13
lrwxrwxrwx 1 root root          23  7月 11  2023 gcc-13 -> x86_64-linux-gnu-gcc-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-ar-13 -> x86_64-linux-gnu-gcc-ar-13
lrwxrwxrwx 1 root root          26  7月 11  2023 gcc-nm-13 -> x86_64-linux-gnu-gcc-nm-13
lrwxrwxrwx 1 root root          30  7月 11  2023 gcc-ranlib-13 -> x86_64-linux-gnu-gcc-ranlib-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-g++-13
-rwxr-xr-x 1 root root     1018800  7月 11  2023 x86_64-linux-gnu-gcc-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ar-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-nm-13
-rwxr-xr-x 1 root root       27176  7月 11  2023 x86_64-linux-gnu-gcc-ranlib-13
lrwxrwxrwx 1 root root          23  5月 13  2023 g++-11 -> x86_64-linux-gnu-g++-11
lrwxrwxrwx 1 root root          23  5月 13  2023 gcc-11 -> x86_64-linux-gnu-gcc-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
lrwxrwxrwx 1 root root          26  5月 13  2023 gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
lrwxrwxrwx 1 root root          30  5月 13  2023 gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root      932680  5月 13  2023 x86_64-linux-gnu-g++-11
-rwxr-xr-x 1 root root      928584  5月 13  2023 x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root       27176  5月 13  2023 x86_64-linux-gnu-gcc-ranlib-11
lrwxrwxrwx 1 root root          26  4月  2  2022 clang++ -> ../lib/llvm-14/bin/clang++
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-g++ -> g++-11
lrwxrwxrwx 1 root root           6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root           9  8月  5  2021 x86_64-linux-gnu-gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root          13  8月  5  2021 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-11
-rwxr-xr-x 1 root root         428 11月 18  2020 c89-gcc
-rwxr-xr-x 1 root root         454 11月 18  2020 c99-gcc

 

  • 查看gcc和g++的版本
ubuntu@ubuntu-virtual-machine bin % gcc --version                                                      [0]
gcc (Ubuntu 13.1.0-8ubuntu1~22.04) 13.1.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ubuntu@ubuntu-virtual-machine bin % g++ --version                                                      [0]
g++ (Ubuntu 13.1.0-8ubuntu1~22.04) 13.1.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

参考文章

Linux系统ubuntu22.04安装最新版的gcc13.1.0编译器,支持c++20、23_gcc-13.1.0.tar.gz下载-CSDN博客

ubantu20 安装多个版本的gcc/gc++编译器_ubuntu 安装多个gcc-CSDN博客

5 步在 Ubuntu22 上使用 C++20

 

文章末尾

C++之旅(第3版)第3页有这个小demo,在上面安装好的编译器也没有通过。发现第38页说模块还没有加入到c++20。后续再研究吧。这个笔记就到这里。

import std;

int main(){
    std::cout<<"Hello World!\n";
}

 

posted @   杰之行  阅读(3044)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示