gcc降版本

在Ubuntu新版本中,由于GCC版本过高(如4.6.1),可能会引发编译错误,提示_FORTIFY_SOURCE重新定义。解决方法是安装GCC 4.4,然后将默认GCC链接指向GCC 4.4。通过`sudo apt-get install gcc-4.4 g++-4.4`安装,使用`sudo mv gcc gcc.bak`和`sudo ln -s gcc-4.4 gcc`以及相同步骤替换g++,最后验证GCC版本为4.4即可正常编译。

如果你的ubuntu是最新的或者比较新的版本,那么在编译过程中,会出现:


  1. <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]   
  2. <built-in>:0:0: note: this is the location of the previous definition   
  3. cc1plus: all warnings being treated as errors  

这样的错误,这个错误引起的原因在于gcc的版本太高了,gcc -v 可以看见是4.6.1的;

解决方法为:安装gcc4.4的


  1. sudo apt-get install gcc-4.4  
  2. sudo apt-get install g++-4.4  

安装完成后需要将原gcc替换成gcc4.4的:

进入/usr/bin,用ls -l gcc* 可以看到:


  1. lrwxrwxrwx 1 root root      7 2011-10-29 09:11 gcc -> gcc-4.6  
  2. -rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4  
  3. -rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6  

通过一下命令实现替换:


  1. sudo mv gcc gcc.bak   
  2. sudo ln -s gcc-4.4 gcc  

对于g++同理:


  1. lrwxrwxrwx 1 root root      7 2011-08-14 15:17 g++ -> g++-4.6  
  2. -rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4  
  3. -rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6  
  4.   
  5. /usr/bin$ sudo mv g++ g++.bak   
  6. /usr/bin$ sudo ln -s g++-4.4 g++  

现在可以通过gcc -v查看版本信息了,为gcc-4.4就正确了,可以编译了

### 级Linux系统中的GCC编译器 为了将Linux系统的GCC编译器级至特定版本,可以按照如下方法操作: #### 下载所需版本GCC源码包 可以从GNU官方网站获取旧版GCC的源代码。对于3.4.4和3.2.2这两个具体版本而言,下载链接分别为`ftp://gd.tuwien.ac.at/gnu/gcc/releases/gcc-3.4.4/gcc-3.4.4.tar.bz2` 和 `ftp://gd.tuwien.ac.at/gnu/gcc/releases/gcc-3.2.2/gcc-3.2.2.tar.bz2`[^1]。 #### 安装依赖库 安装过程中可能需要用到一些额外的支持库。这些支持库包括但不限于alsa-lib, autoconf, bash等开发工具以及字体配置相关的软件包如fontconfig-dev, freetype-dev等。确保已经安装了必要的构建环境和支持库,可以通过包管理器一次性安装所需的全部组件列表[^3]。 #### 编译并安装自定义版本GCC 解压下载好的tarball文件之后进入解压缩后的目录执行配置脚本configure,并指定目标安装路径以便与现有系统默认版本共存而不会覆盖它;接着运行make命令开始编译过程,在确认无误后再利用sudo make install完成最终部署工作。注意设置好PATH变量使得新安装的小版本优先于系统自带的大版本被调用。 ```bash tar jxf gcc-X.Y.Z.tar.bz2 cd gcc-X.Y.Z ./contrib/download_prerequisites mkdir build && cd build ../configure --prefix=/opt/gcc-X.Y.Z --enable-languages=c,c++ --disable-multilib make -j$(nproc) sudo make install echo 'export PATH=/opt/gcc-X.Y.Z/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` 这里X.Y.Z代表具体的想要回滚到的那个小版本号。 #### 验证安装成功与否 最后一步是要验证新的GCC是否正确安装并且能够正常运作。这通常意味着要检查当前使用的gcc可执行文件的位置及其对应的版本信息。 ```bash which gcc gcc --version ``` 如果一切顺利的话,则应该能看到指向刚刚手动安装完毕的新位置以及所期望看到的历史版本号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值