linux 手动升级 g++-6
因工作需要,得升级下g++。本机g++版本是4.8想升级到g++6。由于网络问题,不能添加PPA,所以只能手动编译。第一步,编译并安装g++-6编译g++6的脚本如下:# 下载源码到 "~/Downloads" 目录wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2tar -jxvf gcc-6.1...
·
因工作需要,得升级下g++。
本机g++版本是4.8
想升级到g++6。由于网络问题,不能添加PPA,所以只能手动编译。
第一步,编译并安装g++-6
编译g++6的脚本如下:
# 下载源码到 "~/Downloads" 目录
wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2
tar -jxvf gcc-6.1.0.tar.bz2
cd gcc-6.1.0
# 下载依赖库
./contrib/download_prerequisites
mkdir gcc-build-6.1.0
cd gcc-build-6.1.0
#编译选项
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
# 启动8进程编译,如果cpu线程多,还可以再增加
make -j8
sudo make install
# <<<ubuntu 14.04>>> 切换到g++-6, !!!注意,此后旧版本g++就不能直接输入g++命令调用了!!!
cd /usr/local/bin
sudo ln -s g++-6 g++
cd /usr/bin
sudo ln -s g++-6 g++
# <<<ubuntu16.04>>> 切换到g++-6, !!!注意,此后旧版本g++就不能直接输入g++命令调用了!!!
cd /usr/local/bin
sudo ln -s x86_64-pc-linux-gnu-g++ g++
cd /usr/bin
sudo ln -s ../local/bin/x86_64-pc-linux-gnu-g++ g++
至此,g++编译安装完成
但使用g++时,会报类似于/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
的错误。这是因为lib库还没有切换到新版本。
第二步,切换lib库到g++-6
脚本如下:
cd /usr/lib64 # ubuntu 14.04
cd /usr/lib/usr/lib/x86_64-linux-gnu # ubuntu 16.04
#拷贝新编译的lib库
cp ~/Downloads/gcc-6.1.0/gcc-build-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./
#删除旧库链接
rm -rf libstdc++.so.6
#使用新的链接
ln -s libstdc++.so.6.0.22 libstdc++.so.6
至此,升级g++-6完成。
更多推荐
已为社区贡献4条内容
所有评论(0)