【C++11】准备:gcc 4.9.0编译安装

C++14都粗来了,现在才学C++11?是的,学习主动性太差了,我检讨。之前看过几眼,但没有机会应用到工作中,上家公司的环境是HP-UX,现在的开发环境还是古老的VS2008。所以一直没有用过,现在打算来练练手。

VS2013不知什么原因,每次新建项目点击完成以后就会崩溃,安装卸载了几个回合依然如此。所以放弃windows平台,安装虚拟机、ubuntu 12.04 64、gcc 4.9.0。

一、gcc 4.9.0安装

由于公司的网络原因,虚拟机无法上网,所以只能在windows下载源码安装。

所以此方法仅献给和我一样无法上网的苦逼朋友。

1、下载地址:

ftp://mirrors.kernel.org/gnu/gcc/gcc-4.9.0/gcc-4.9.0.tar.gz

2、将压缩包拷到linux,并解压

tar -zxvf gcc-4.9.0.tar.gz

3、下载编译所需依赖项

cd gcc-4.9.0
./contrib/download_prerequisites

但由于我的linux不能上网,只能打开download_prerequisites,分别手动的下载各安装包。

download_prerequisites脚本中的内容

以上脚本中各安装包下载地址

ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-2.3.2.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.12.2.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.1.tar.gz 

下载完成后,把所有包拷到gcc-4.9.0目录中,进行解压、建立软链接

tar xjf mpfr-2.4.2.tar.bz2
ln -sf mpfr-2.4.2 mpfr

tar xjf gmp-2.3.2.tar.bz2
ln -sf gmp-2.3.2 gmp

tar xzf mpc-0.8.1.tar.gz
ln -sf mpc-0.8.1 mpc 

tar xjf isl-0.12.2.tar.bz2
ln -sf isl-0.12.2 isl

tar xzf cloog-0.18.1.tar.gz
ln -sf cloog-0.18.1 cloog

4、一切就绪,开始安装

cd ..
mkdir gcc-build-4.9.0
cd gcc-build-4.9.0
../gcc-4.9.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

5、成功生成Makefile

make -j2 && make install

此处需耐心等待1小时左右,看机器性能,反正我的虚拟机等了1个小时,安装过程中卡出翔。

6、打完收工,查看gcc版本

时间: 2024-10-29 17:48:03

【C++11】准备:gcc 4.9.0编译安装的相关文章

gcc 9.2.0 编译安装mysql 8.0.17

环境说明: CentOS Linux release 7.4.1708 (Core)内核版本: 3.10.0-693.el7.x86_64工作目录:/usr/local/src/mysql 安装目录:/apps/program其它程序安装目录:/usr/local/程序名+版本号 安装源码准备 cd /usr/local/src/ wget https://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.1.2.tar.xz wget https://mirrors.ustc

Valgrind 3.11.0编译安装

Valgrind 3.11.0编译安装 Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具. Valgrind遵守GNU通用公共许可证条款,是一款自由软件. 到3.3.0版本为止,Valgrind支持x86.x86-64以及PowerPC上的Linux.除此之外,还有一些其它非正式支持的类Unix平台(如FreeBSD.NetBSD以及Mac OS X). 1.下载Valgrind 3.11.0 直接下载源码包 wget http://valgrind.org/downl

Centos 7.0 编译安装LNMP(Linxu+nginx+mysql+php)之源码安装nginx (一)

nginx简介:       Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. 其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器

CentOS 7.0编译安装Nginx+MySQL+PHP

转自http://www.centoscn.com/CentosServer/www/2014/0904/3673.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www.centoscn.com/image-text/setup/2014/0724/3342.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi

CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

转载自http://www.osyunwei.com/archives/7891.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemc

CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享

一.配置防火墙,开启80端口.3306端口CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙.1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/ipta

Centos 7.0 编译安装LAMP(Linxu+apache+mysql+php)之源码安装Mysql (二)

mysql 简介: MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性.目前其属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言. 安装环境: 系统: centos 7.0 最小化安装 软件

hadoop2.1.0编译安装教程(转载)

由于现在hadoop2.0还处于beta版本,在apache官方网站上发布的beta版本中只有编译好的32bit可用,如果你直接下载安装在64bit的linux系统的机器上,运行会报一个INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable的错误,但在实际测试中是可以正常安装并可以运行自带的w

Centos 7.0 编译安装LAMP(Linxu+apache+mysql+php)之源码安装php (三)

PHP简介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标