从
gcc4.8.1
开始完全支持C++11
的编译器。今天教大家安装gcc4.8.1
版本。
Linux(Centos)下编译安装gcc4.8.2
-
获取gcc4.8.2包:
下载链接:http://gcc.skazkaforyou.com/releases ,里面有
gcc
所有的版本,自行下载。
也可以选择(推荐):$ wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
-
解压缩
$ tar -zxvf gcc-4.8.2.tar.gz
-
安装依赖
安装编译
gcc4.8.2
,系统需要安装一个低版本的gcc
,如果gcc
、gcc-c++
机器已经安装,此步骤可以略过。```sh $ yum update $ yum install gcc $ yum install gcc-c++ ```
进入
gcc-4.8.2
目录,执行./contrib/download_prerequisites
脚本,会自动下载三个依赖库别为gmp-4.3.2
、mpfr-2.4.2
、mpc-0.8.1
$ cd gcc-4.8.2 $ ./contrib/download_prerequisites
-
编译
$ cd gcc-4.8.2 $ ./configure --prefix=/usr --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib $ sudo make && make install
-
验证
$ gcc -v
安装错误解决方案:
onfigure: error: in `/opt/soft/gcc-4.8.2': configure: error: no acceptable C compiler found in $PATH
缺少
gcc
,安装即可:
```sh
$ yum update
$ yum install gcc
configure: error: C++ compiler missing or inoperational
缺少
gcc-c++
,安装即可:
sh $ yum update $ yu
libstdc++.so.6: version 'GLIBCXX_3.4.15' not found错误的解决
-
错误原因是缺少GLIBCXX_3.4.15版本,或是更高的版本。为了核实版本问题:
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH
我们看到当前
gcc
版本中的确没有GLIBCXX_3.4.15
,考虑到刚安装过新版的gcc
,似乎不应该出现这样的问题。顺着
gcc
安装路径,找到了新的libstdc++
:$ strings /usr/local/lib64/libstdc++.so.6.0.20|grep GLIBCXX GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 GLIBCXX_3.4.20 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH
这里该有的都有了,把这份软链到正确的地方,就妥了。
$ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/ $ cd /usr/lib64/ $ rm -f libstdc++.so.6 $ ln -s libstdc++.so.6.0.20 libstdc++.so.6 $ ll libstdc* lrwxrwxrwx. 1 root root 19 5月 12 13:34 libstdc++.so.6 -> libstdc++.so.6.0.20 -rwxr-xr-x. 1 root root 987096 11月 22 02:08 libstdc++.so.6.0.13 -rwxr-xr-x. 1 root root 6700716 5月 12 13:33 libstdc++.so.6.0.20
此后,再进行编译安装就顺畅了
我们是
二手转转前端(大转转FE)
知乎专栏:https://zhuanlan.zhihu.com/zhuanzhuan
官方微信公共号:zhuanzhuanfe
微信公众二维码:
微信公众二维码
关注我们,我们会定期分享一些团队对前端的想法与沉淀