han*_*han 32 linux ubuntu gcc windows-subsystem-for-linux
$ sudo apt search gcc-12
Sorting... Done
Full Text Search... Done
$ uname -a
Linux Han 5.10.81.1-microsoft-standard-WSL2 #1 SMP Mon Nov 22 18:52:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我使用的是默认的sources.list文件,我想安装gcc-12但在镜像源中找不到它,我该怎么办!
use*_*927 44
gcc-12 在 ubuntu 20.04 中不可用,因此我们需要从源代码编译它,以下是我从该视频借用的步骤:
$ git clone https://gcc.gnu.org/git/gcc.git gcc-source
$ cd gcc-source/
$ git branch -a
$ git checkout remotes/origin/releases/gcc-12
Run Code Online (Sandbox Code Playgroud)
请注意,这一点很重要,因为./configure不支持从源目录中运行,如此处所述。
$ mkdir ../gcc-12-build
$ cd ../gcc-12-build/
$ ./../gcc-source/configure --prefix=$HOME/install/gcc-12 --enable-languages=c,c++
Run Code Online (Sandbox Code Playgroud)
缺少的库将显示在上面的./confgiure输出中,一一搜索并安装它们。
$ apt-cache search MPFR
$ sudo apt-get install libmpfrc++-dev
$ apt-cache search MPC | grep dev
$ sudo apt-get install libmpc-dev
$ apt-cache search GMP | grep dev
$ sudo apt-get install libgmp-dev
$ sudo apt-get install gcc-multilib
$ ./../gcc-source/configure --prefix=$HOME/install/gcc-12 --enable-languages=c,c++
Run Code Online (Sandbox Code Playgroud)
另一种方法是运行 download_precessions 脚本。
$ cd ../
$ cd gcc-source/
$ ./contrib/download_prerequisites
$ ./../gcc-source/configure --prefix=$HOME/install/gcc-12 --enable-languages=c,c++
Run Code Online (Sandbox Code Playgroud)
$ make -j16
Run Code Online (Sandbox Code Playgroud)
仍然缺少弹性:
$ sudo apt-get install flex
$ ./../gcc-source/configure --prefix=$HOME/install/gcc-12 --enable-languages=c,c++
$ make -j16
$ make install
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用可以使用 gcc-12 的 Ubuntu 22.04。在 Ubuntu 22.04 中,可以使用以下命令安装 gcc-12 apt:
$ sudo apt install gcc-12
Run Code Online (Sandbox Code Playgroud)
Åsm*_*und 13
您可以使用 Homebrew 安装预构建的二进制文件。按照说明安装 Homebrew https://brew.sh/,然后
brew install gcc对于默认 GCC(当前为 11)或brew install gcc@12gcc-12。
请注意,它可能会编译缺少的依赖项。