杂记:Linux下gcc升级

  公司要求,需要在CentOS6.5系统下进行一些测试。因为编写的测试程序中使用了一些C++11之后新增的特性,而CentOS6.5中安装的gcc版本为4.4.7,并不支持C++11,所以需要对gcc进行升级,在此记下升级过程,本次升级过程需要使用到root权限,所以安装时需要切换到root用户。

  1、准备工作

  因为升级过程中需要使用到g++,而CentOS系统并没有默认安装g++,所以需要手动安装,终端执行“yum install gcc-c++”;之后还需要安装flex,不然之后的gcc安装过程会报错。

  2、获取gcc安装包

  gcc的安装包的获取,可以从GitHub上下载所需的安装包:https://github.com/gcc-mirror/gcc/releases。这里以gcc6.4为例。

  3、解压

  上一步的网址中提供了两种压缩包:zip包和tar.gz。

  zip包解压:unzip gcc*.zip

  tar.gz包解压:tar -zxvf gcc*.tar.gz

  4、安装

  (1)解压后进入目录,运行“./contrib/download_prerequisites”。这个gcc提供的脚本,可以帮我们下载并配置好依赖库,可以帮我们节省大量的时间和精力。

  (2)mkdir build && cd build

  (3)../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

  (4)编译:make 这一步根据实际环境的不同,耗时不同,这一步我花费了将近一个半小时

  (5)安装:make install 这一步和上一步非常费时,总共将近三个小时。

  5、验证:

  gcc -v ,如果显示的gcc版本仍是以前的版本,则需要重启系统;或者使用“which gcc”,然后再执行“/usr/local/bin/gcc -v”,如果显示如下,则证明安装成功。(gcc 版本处应该显示的是“gcc 版本 6.4.0(GCC)”,这图是我从自己的机子上截的)

  注:虽然是在CentOS6.5下安装的,但安装过程同样适用于Linux的其他发行版本。  

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; background-color: #fef49c }
span.s1 { }

原文地址:https://www.cnblogs.com/lianshuiwuyi/p/8413415.html

时间: 2024-11-21 05:13:50

杂记:Linux下gcc升级的相关文章

linux下gcc升级

由于最近公司老大安排对gcc进行升级,所以就整理下这篇文档,希望对有些盆友有些许帮助 1 安装gmp4.3.2 tar jxvf gmp-4.3.2.tar.bz2 mkdir /usr/local/gmp-4.3.2 cd /usr/local/gmp-4.3.2 /opt/gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2 make  && make install 2 安装mpfr2.4.2 tar jxvf mpfr2.4.2.tar

linux下python升级 及 pymongo安装

由于需要使用列表统计模块collection.Counter,而Counter模块只有在python2.7以上版本才有支持,所以将python2.6升级到2.7.  在linux下升级python,比如从2.6到2.7,大概需要这么几步:    1. 下载python2.7 从这里下载:http://www.python.org/ftp/python/ ,选择需要的版本 2. 安装pyhon2.7 下载好了以后,解压并安装    $ bzip2 -d Python-2.7.tar.bz2 (-d

基于嵌入式Linux下GCC编译器__sync_sub_and_fetch_4错误的解决心得

******************************************************************************************************************************************************* 作者:EasyWave                                                                                      

Linux下gcc编译生成动态链接库*.so文件并调用它 是转载的

动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助.1.动态库的编译 下面通过一个例子来介绍如何生成一个动态库.这里有一个头文件:so_test.h,三个.c文件:test_a.c.test_b.c.test_c.c,我们将这几个文件编译成一个动态库:libtest.so. //so_test.h:#include "stdio.h"

linux 下gcc生成intel汇编

留作备忘: gcc -S -masm=intel xxxx.c 生成elf可执行文件: gcc -o xxx xxxx.s linux 下gcc生成intel汇编,码迷,mamicode.com

Linux下gcc编译控制动态库导出函数小结

Linux下gcc编译控制动态库导出函数小结 来源 https://www.cnblogs.com/lidabo/p/5703890.html 根据说明文档“How To Write Shared Libraries"介绍, 有四种方法: 1. 在方法声明定义时,加修饰:__attribute__((visibility("hidden"))) 就是说将不公开的函数都加上这个属性,没加的就是可见的 2. gcc 在链接时设置 -fvisibility=hidden,则不加 v

Linux下Gcc生成和使用静态库和动态库详解

参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同(主要是编译器.汇编器和连接器的不同),因此二者库的二进制是不兼容的. 本文仅限于介绍linux下的库. 1.2库的种类 linux下的库有两种:静态库和共享库(动态库). 二者的不同

关于linux下GCC生成共享库(动态链接库)的探究

下面列出了我在对共享库(动态链接库)编写以及使用时遇到的几个简单问题进行探究和解答: 参考文档:http://www.cnblogs.com/likwo/archive/2012/05/09/2492225.html 1.静态库.动态链接库.共享库有什么区别? 静态库(windows下为.lib,linux下为.a)是在程序编写前就编译到目标程序中了,而动态链接库(windows下为.dll)可以在程序执行的任何时候被动态加载.共享库(linux下为.so)是在程序启动的时候加载到程序中. 1)

Linux下gcc与gdb简介

gcc编译器可以将C.C++等语言源程序.汇编程序编译.链接成可执行程序.gdb是 GNU 开发的一个Unix/Linux下强大的程序调试工具. linux下没有后缀名的概念.但 gcc 根据文件的后缀来区别输入文件的类别: .c C语言源代码文件.a 由目标文件构成的库文件.C..cc..cpp  C++源码文件.h 头文件.i 经过预处理之后的 C 语言文件.ii 经过预处理之后的 C++ 文件.o 编译后的目标文件.s 汇编源码文件.S 经过预编译的汇编源码文件 程序由C.C++源代码到可