linux更换gcc g++版本
2017-03-13 10:49
295 查看
原文来自:http://www.metsky.com/archives/607.html
目前Ubuntu 12.04自带的GCC版本为4.6,遗憾的是在实际使用时,反而版本越高越好问题越多,所以,一旦遇到编译问题时最好先检查你下载的工程里的readme,默认的编译器版本是否为当前的安装版本,如果不是,就需注意很可能是版本兼容问题(甚至你可能是第一个遇到此BUG的幸运者),初步调试后即可尝试降低版本测试。
目前主流gcc版本有两个,一个是gcc4.4,一个是gcc最新版本(4.6),下文介绍这两个版本切换和安装方法。
这里build-essential会自动安装最新版本的gcc,如果需要指定使用旧版本gcc,只能再次手动安装。
选择方法(根据编译器选择其一):
参考选择界面:
设置完成后,gcc自动切换为使用4.4版本,因为上面设置4.4优先级高于4.6
示例输出:
目前Ubuntu 12.04自带的GCC版本为4.6,遗憾的是在实际使用时,反而版本越高越好问题越多,所以,一旦遇到编译问题时最好先检查你下载的工程里的readme,默认的编译器版本是否为当前的安装版本,如果不是,就需注意很可能是版本兼容问题(甚至你可能是第一个遇到此BUG的幸运者),初步调试后即可尝试降低版本测试。
目前主流gcc版本有两个,一个是gcc4.4,一个是gcc最新版本(4.6),下文介绍这两个版本切换和安装方法。
一、gcc最新版本安装
root@ubuntu:~# apt-get install build-essential这里build-essential会自动安装最新版本的gcc,如果需要指定使用旧版本gcc,只能再次手动安装。
二、gcc 4.4安装
gcc 4.4是目前很多工程指定的一个版本,安装方法如下:root@ubuntu:~# apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib
三、设置gcc版本切换
1、手动切换
设置后,使用时需手动进行切换选择。root@ubuntu:~# ls /usr/bin/gcc* -l lrwxrwxrwx 1 root root 21 Sep 18 04:42 /usr/bin/gcc -> /etc/alternatives/gcc -rwxr-xr-x 1 root root 224544 Apr 15 22:58 /usr/bin/gcc-4.4 -rwxr-xr-x 1 root root 306200 Apr 15 19:45 /usr/bin/gcc-4.6 root@ubuntu:~#update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50 root@ubuntu:~#update-alternatives --install /usr/bin/g++ gcc /usr/bin/g++-4.4 50
选择方法(根据编译器选择其一):
root@ubuntu:~#update-alternatives --config gcc root@ubuntu:~#update-alternatives --config g++
参考选择界面:
root@ubuntu:~# update-alternatives --config g++ There are 2 choices for the alternative g++ (providing /usr/bin/g++). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/g++-4.4 100 auto mode 1 /usr/bin/g++-4.4 100 manual mode 2 /usr/bin/g++-4.6 50 manual mode Press enter to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/bin/g++-4.6 to provide /usr/bin/g++ (g++) in manual mode. root@ubuntu:~#
2、设置优先级自动
设置后,系统自动根据优先级选择,假设要设置gcc4.4优先于gcc4.6,设置方法如下:update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100 update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 50 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50 update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100 update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 50
设置完成后,gcc自动切换为使用4.4版本,因为上面设置4.4优先级高于4.6
四、查看生效的gcc版本
gcc -v示例输出:
root@ubuntu:~# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=a
相关文章推荐
- 关于linux环境下GCC与g++编译器高低版本转换的问题
- Linux下修改gcc和g++的版本
- Ubuntu 11.10 下更换gcc g++编译器默认版本
- ubuntu更换gcc g++编译器默认版本
- linux不同gcc/G++版本之间的切换
- Ubuntu 关于gcc/g++版本更换以及编译问题
- linux 中切换gcc 和 g++版本
- Linux的gcc和g++的版本切换问题
- Ubuntu: Linux系统下gcc(g++)任意版本切换
- 安装更改gcc或g++版本
- linux下安装多个版本gcc
- 怎样在Red Hat Enterprise Linux 5.4版本上安装GCC?
- Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)
- linux查看GCC版本
- 查看编译linux内核所用的gcc版本
- Linux中gcc,g++常用编译选项以及makefile的编写
- Linux 下的 gcc, g++ 编译器
- arm-linux-gcc不同版本交叉编译器的切换使用
- Linux中gcc,g++常用编译选项
- Linux跨GCC版本出现“浮点数例外”的解决办法(FC6以后版本)