318 字
2 分钟
编译一个GCC---Bilibili
准备
gcc-7.5.0.tar.gz gmp-6.1.0.tar.bz2 mpc-1.0.3.tar.gz mpfr-3.1.4.tar.bz2 isl-0.16.1.tar.bz2
使用迅雷下载很快
https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
下载以后解压
编译环境
进入除了gcc以外的每一个文件夹中 运行
./configure
sudo make && sudo make install
然后在与gcc-7.5.0同级目录创建build环境文件夹(哪里都行 你理解后面的操作则可以自由发挥)
mkdir gcc-build-7.5.0
cd gcc-build-7.5.0
进入build文件夹后,运行这个(这里configure的路径可以自由发挥)
../gcc-7.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
PS:这里好像有个坑
error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
有可能出现这个,反正如果报错看看最后那几行有没有关于libmpfr.so
的,有的话就运行
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
这个是加载共享库时出错,软链接链上就好了。
随后开始make!(-j后面的数字根据自己cpu有几个核来定,我这里8个核,就用-j8,一般来说,最大并行任务数为cpu_num * 2)
make -j8
然后
make install
ps:这两个命令可以使用sudo以防出现权限不够自己停掉
检测与版本切换
检测当前默认gcc版本:
gcc-v
g++ -v
我的被安装在了 /usr/local/bin的位置
切换gcc版本:
sudo update-alternatives --config gcc
编译一个GCC---Bilibili
https://fuwari.vercel.app/posts/compile-a-gcc/