Linux安装GCC(最新版)
Posted 童心同萌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux安装GCC(最新版)相关的知识,希望对你有一定的参考价值。
- 安装依赖
yum -y install wget bzip2 gcc-c++
- 安装目录
mkdir /opt/gcc && cd /opt/gcc
- 安装包下载
wget http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz 注意:http://ftp.gnu.org/gnu/gcc获取最新版下载链接并替换
- 安装包解压
tar -zxvf gcc-12.2.0.tar.gz && rm -rf gcc-12.2.0.tar.gz
- 安装配置
cd /opt/gcc/gcc-12.2.0 ./contrib/download_prerequisites ./configure --prefix=/opt/gcc/gcc-12.2.0 -disable-multilib
- 编译安装(8核8G)
make -j16 && make install 注意:安装时间非常久,建议临时增加核心数量,-j16表示16个编译命令同时执行
- 环境变量
echo "export GCC_HOME=/opt/gcc/gcc-12.2.0" >> /etc/profile echo "export PATH=\\$GCC_HOME/bin:\\$PATH" >> /etc/profile source /etc/profile
- 卸载旧版本
yum -y remove gcc
- 查看新版本
gcc -v
- 更新动态库
查看旧动态库:strings /usr/lib64/libstdc++.so.6 | grep CXXABI 删除旧动态库:rm -f /usr/lib64/libstdc++.so.6 新动态库位置:/opt/gcc/gcc-12.2.0/lib64/libstdc++.so.6.X.XX 链接新动态库:ln -s /opt/gcc/gcc-12.2.0/lib64/libstdc++.so.6.0.30 /usr/lib64/libstdc++.so.6 查看新动态库:strings /usr/lib64/libstdc++.so.6 | grep CXXABI
arm-linux-gcc4.4.3怎么安装
1,下载并安装arm-linux-gccarm-linux-gcc-4.2.1的版本在http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/这里可以下载,最新版arm-linux-tools-20080623.tar.gz这个可能是4.2.4的版本,因为下面有编译4.2.4的方法还有相应的代码包,build-arm-linux-4.2.14,此版本由于过大,我没有下载。
下面的这个是ARM官方给的下载链接http://www.codesourcery.com/gnu_toolchains/arm/download.html,然后将HOST选择为IA32 GNU/Linux,点击下载就可以了。不过前缀为arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu而不是arm-linux-。。。
在友善之臂官方网站http://www.arm9.net/download.asp下载arm-linux-gcc4.4.3。
2,删除之前安装有旧版本,执行
[root@localhost ~]# rm -rf /opt/arm
3,对新版本arm-linux-gcc-4.4.3进行解压(注意,如果我们加上了-C,那么就会自动解压到/usr/local/arm/这个目录下),但是友善之臂按照下列方式解压,不会解压到/usr/local/arm/目录下的,这是因为友善之臂把/usr/local/arm/目录修改成了 /opt/FriendlyARM/toolschain/,除非自己在把它修改过来
[root@localhost ~]# tar -ivxzf /smbroot/arm-linux-gcc-4.4.3.tar.gz -C /
4,修改配置文件,将arm-linux-gcc添加到环境变量中,因为arm-linux-gcc的命令是在/usr/local/arm/4.4.3/bin下,其目的通过对全局变量绑定使之能够在任意一个目录下能够执行该命令。
打开设置文件
[root@localhost opt]# vi /etc/profile
在打开的文件的
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/arm/4.4.3/bin
fi
或者在文件末尾添加
export PATH=$PATH:/usr/local/arm/4.4.3/bin
保存退出
5,立即使新的环境变量生效,不用重启电脑
[root@localhost opt]# source /etc/profile
[root@localhost opt]#
6,检查是否将路径加入到PATH:
[root@localhost opt]# echo $PATH
显示的内容中有/usr/local/arm/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
7,测试是否安装成功
首先,执行find命令查询一下arm-linux-gcc的位置
[root@localhost ~]# find / -name arm-linux-gcc
/opt/arm/toolschain/4.4.3/bin/arm-linux-gcc
[root@localhost ~]#
可以看到arm-linux-gcc的位置与环境变量中设定的路径一致
接下来查询arm-linux-gcc的版本
[root@localhost bin]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
[root@localhost bin]#
可以看到arm-linux-gcc的版本号,至此,arm-linu-gcc已成功安装。 参考技术A 下载arm-linux-gcc-4.4.3.tar.gz安装包。
打开终端,输入 sudo tar xvzf arm-linux-gcc-4.4.3.tar.gz -C /
安装arm-linux-gcc-4.4.3
在终端输入 sudo vim /root/.bashrc,在最后一行输入:
export PATH=$PATH:/opt/toolschain/4.4.3/bin加入arm-linux-gcc的开发环境
安装兼容库,在终端输入:sudo apt-get install g++-multilib
测试成功没有,登录root后输入: arm-linux-gcc -v 查看是否安装成功。
以上是关于Linux安装GCC(最新版)的主要内容,如果未能解决你的问题,请参考以下文章