linux下升级GCC 4.8
来源:互联网 发布:碳纤维前景 知乎 编辑:程序博客网 时间:2024/04/30 01:11
C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。随后各编译器厂商都各自实现或部分实现了C++中的特性
。
本文主要介绍在Linux系统下,如何升级GCC以支持C++11。目前来看GCC是对C++11支持程度最高最多的编译器,但需要GCC4.8及以上版本。
本文使用操作系统:Centos 6.4 Desktop,64bit;
原GCC版本:4.4.7;
目标:升级GCC到4.8.2,以支持C++11。
获取GCC 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz;
解压缩:tar -xf gcc-4.8.2.tar.gz;
进入到目录gcc-4.8.2,运行:./contrib/download_prerequisites。这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
建立输出目录并到目录里:mkdir gcc-build-4.8.2;cd gcc-build-4.8.2;
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib。--enable-languages表示你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查;
编译:make;注意此步和上一步,比较耗时;
安装:make install;
验证:gcc -v;或者g++ -v,如果显示的gcc版本仍是以前的版本,就需要重启系统;或者可以查看gcc的安装位置:which gcc;然后在查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置,如果显示为;
则表示已经升级成功。
安装过程中遇到一些问题:
1、Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0
先在官网上下载最新版的对应三个文件:
ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2
ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.3.tar.gz
先开始安装GMP。解压GMP的压缩包后,得到源代码目录gmp-6.1.0。在该目录的同级目录下建立一个临时的编译目录,这里命名为temp。然后开始配置安装选项,进入temp目录,输入以下命令进行配置:
../gmp-gmp-6.1.0/configure --prefix=/usr/local/gmp-6.1.0
make
sudo make install
mpfr和mpc的安装方法与gmp类似。不过要注意配置的时候要把gmp与mpfr的依赖关系选项加进去,具体配置命令如下:
../mpfr-3.1.3/configure --prefix=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-gmp-6.1.0
../mpc-1.0.3/configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3
安装好这三个库之后,就可以正式开始安装gcc了。
当然了链接的时候,需要刚刚编译的3个lib。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.3/lib:/usr/local/gmp-6.1.0/lib:/usr/local/mpfr-1.0.3/lib
然后是典型的configure,make,install三步曲。
../trunk/configure --prefix=/usr/local/gcc-4.7 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9
make
make check(可选)
sudo make install
经过漫长的等待:
- linux下升级GCC 4.8
- linux:centos gcc 升级 gcc-4.8.1
- linux下升级gcc的方法
- linux下升级gcc的方法
- Linux下升级gcc的方法-简明扼要
- linux下升级gcc的方法
- Centos/Linux 下升级GCC G++
- linux下升级gcc的方法
- Linux下升级gcc、gdb工具
- Linux下安装或升级gcc
- Ubuntu下升级GCC
- linux gcc 4.8.5 升级编译
- Linux离线(手动)升级GCC-4.8
- linux升级gcc
- Linux升级gcc
- Linux升级安装GCC
- Linux升级gcc版本
- linux下安装或升级GCC 4.8,以支持C++11标准
- bzoj3572_hnoi2014 世界树
- C#动态创建日志文件,若文件存在,追加记录
- Android AIDL IPC实现进程间通信
- 每天学习十分钟23之JavaScript
- Jenkins入门系列之——02第二章 Jenkins安装与配置
- linux下升级GCC 4.8
- java.io.Serializable (序列化接口)
- ArcGIS教程:“栅格转 TIN”的工作原理
- MYSQL数据库管理之权限管理
- 【freeradius】使用radclient调试radius协议
- lib和dll文件的区别和联系
- Android Studio之导出JavaDoc出现编码GBK的不可映射字符
- Oracle 查看表空间的大小及使用情况sql语句
- Qt脚本访问实时库