一、安装开发必备环境
二、编译安装gcc
GCC下载地址:https://ftp.gnu.org/gnu/gcc/
下载后进行编译安装:(这里以 GCC 6.3.0 版本作为例子)
其中执行 ./contrib/download_prerequisits 将自动下载四个文件(下载地址为ftp://gcc.gnu.org/pub/gcc/infrastructure/下述文件名字)
- mpft-2.4.2.tar.bz2
- gmp-4.3.2.tar.bz2
- mpc-0.8.1.tar.gz
- isl-0.15.tar.bz2
若是网络环境不理想,下载速度缓慢,那么就需要删除已下载文件,重新下载;或者通过命令行窗口处,拿到下载地址(地址如上,若有变化就按新地址为准)手动下载,再放到源代码目录下。
下载完成后,configure需要配置一些选项,–prefix 可以设置 make 完后 make install 实际 GCC 安装的地址,若没有设置,就默认安装在 /usr/local/gcc-6.3.0 目录下。
编译需要的时间非常的长,需要耐心等待。(或许还是要用一下 make -j8)
编译完成后重新启动系统。(sudo init 6 / sudo reboot)
重新启动完成后,通过 gcc -v 查看 GCC 版本,可以用小程序测试一下。
需要载入的时候,可以在个人目录下的 .bashrc 中添加 /usr/local/gcc-x.x.x/bin lib64 路径,并 source .bashrc 刷新,然后用 gcc -v 查看。在 bin 目录下,还有 g++ 等可执行文件。
三、运行GCC程序出现‘GLIBCXX_3.4.21’ not fount问题
运行出现“./a.out: /usr/lib64/libstdc++.so.6:version ‘GLIBCXX_3.4.21’ not found(required by ./a.out) ”问题。
这是因为升级 GCC 时,生成的动态库没有替换老版本 GCC 动态库导致的问题,将 GCC 最新版本的动态库替换系统中老版本的动态库就可以解决了。
在输出结果中没有发现问题所提示的‘GLIBCXX_3.4.21’项,所以出现问题了。解决要将当前文件链接的指向改成最新的动态库地址:
然后再用上面的指令查看,这时就能看到有 GLIBCXX_3.4.21 项。