编译gcc4.7.3 其他版本的应该也可以
编译它真麻烦啊
。。耗费了我一下午。。
我是ubuntu10.10环境的
。内置的gcc版本很老了,好像是4.2吧。源里又没有高版本的,于是自己编译了。
准备
下载gcc:点我打开 //源,找个最快的。下你想要的版本
下载编译要用的库:m4-1.4.16,gmp-4.3.2,mpfr-2.4.2和mpc-0.8.1 版本应该要以上吧,我是下这3个的
地址:m4:点击打开链接 另外3个:点击打开链接到最后make check时(只有gcc)还需要安装一个(听说不用check也行,就可以不用装了) autogen,可以直接在源里搜到的。
编译(摘自http://blog.csdn.net/zyysql/article/details/6036145和http://marxistprogrammer.blog.163.com/blog/static/47198981201192922811592)
- 先编译m4(不编译它GMP编译不了)
tar zxvf m4-1.4.1.tar.gz
cd m4-1.4.1
./configure
make
make check #强烈建议检查,确保正确
make install #需要root,建议在root中安装
- 后编译GMP(由于MPFR和MPC都依赖于GMP包,所以首先安装GMP)
tar jxvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2
./configure
make
make check
make install
- 再就是MPFR
tar jxvf mpfr-2.4.2.tar.bz2
cd mpfr-2.4.2
./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
make
make check
make install
- 安装MPC
tar zxvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
make
ldconfig -v#(出现:error while loading shared libraries: libmpfr.so.1: cannot open shared objec,可以自己去man ldd 和ldconfig)
make check
make install
到这里就可以编译gcc了(前面几个库的默认位置是/usr/local/include和/usr/local/lib,GCC编译时可能会找不到这三个库,需要确认库位置是否在环境变量LD_LIBRARY_PATH中)
- 查看环境变量内容可以用命令
echo $LD_LIBRARY_PATH - 设置该环境变量命令如下:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
现在开始安装GCC
tar xvf gcc-4.5.1.tar.gz
cd gcc-4.7.3
./configure --prefix=/usr/local/gcc-4.7.3 --enable-languages=c,c++
#gcc包含的编译器很多,我只想要c跟c++编译器。如果提示缺少什么包,从源里安装就行了,我不缺。
#之所以安装到/usr/local/gcc-4.7.3,而不是默认的/usr/local下,是因为gcc没有提供make uninstall的功能,放在一个目录下方便日后删除。
make #(这个过程较长,据说是编译了三次,第一次是用现有的老版本编译4.7的源代码得到老版本编译的 4.7,然后再用这个老版本编译的4.7编译
#4.7的源代码得到4.7编译的4.7编译的4.7,然后再用这个老版本编译的4.7编译的4.7编译4.7的源代码得到最终的老版本编译的4.7编译的4.7编
#译的4.7;ok,再用最后得到的这个4.7编译标准库)
make check#(想check的就装上面提到的吧,不check也能装的)
sudo make install
经过较长时间(我等了近四个小时,机子差,
加上我又在浏览等行为)等待就可以编译完成。
设置环境变量的话,在~/.profile最后添加一行
PATH="/usr/local/gcc-4.7.3/bin:$PATH"
用g++ -v看看是不是4.7.3了?恭喜你!
编译gcc4.7.3 其他版本的应该也可以的更多相关文章
- 在centOS7.2上编译gcc4.4.7
1.前置 首先,可以参考我的上篇文章,在centOS7.2上编译gcc4.1.2,过程基本一致,这里只对可能遇到的错误情况进行说明. 2.安装texinfo4.8 我的centos7.2版本,自带的是 ...
- cmake编译opencv时指定cuda版本
之前有网友提问说,基于cmake编译时如果切换cuda版本,比如我同时装了cuda8和cuda9,opencv总是找到cuda9,我想用cuda8怎么办?实际上,手头上要配置的工程是基于opencv3 ...
- VS2010编译OpenSSL(两个版本)
第一个版本: 编译工具 VS2010 OpenSSL版本 openssl-1.0.0a 下载 OpenSSL http://www.openssl.org/ 下载 from http://www.ac ...
- 使用自编译的Emacs26.0.50build10版本,helm报错(已解决)
使用自编译的Emacs26.0.50build10版本,helm报错(已解决) */--> code {color: #FF0000} pre.src {background-color: #0 ...
- 重新编译安装gcc-4.1.2(gcc版本降级)之TFS安装
wget http://gcc.parentingamerica.com/releases/gcc-4.1.2/gcc-4.1.2.tar.gz tar -zxfv gcc-4.1.2.tar.gz ...
- Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本
如果没记错的话,阿里云ECS上的Ubuntu也是LTS版本. 如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的.怎么办呢? 我们或许可以自己去编译用旧版本 ...
- 编译GCC4.8.2
公司的机器上默认是GCC4.4.6,为了完整的体验C++11,可以自己编译一个GCC4.8.2出来(自带了更高版本的glibc). 以下是备忘. 1.下载GCC源码以及依赖库 gmp ftp: ...
- CentOS 6.6x64下编译gcc-4.7.4
最近使用老版本的gcc发现一些问题,于是想尝试升级. 看了一些教程之后进行尝试,发现各类教程均会有一些小问题,于是在此记录一下本人的过程. 编译过程中参考的文章有如下几篇,在此表示感谢: http:/ ...
- 编译gcc4.4.6与ICE遇到的几个问题
1.遇错./.libs/libgcj.so: undefined reference to `__cxa_call_unexpected' 解决:d.错误码:"/.libs/libgcj.s ...
随机推荐
- poj3026(bfs+prim)
The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of the galaxy. ...
- Shell脚本中cd命令使用
在写shell脚本的时候发现cd切换目录的时候无法切换,代码是下面的. #!/bin/bash #changedir.sh history cd /home/firefox sleep pwd 我仔细 ...
- java 异常处理 Throwable Error 和Exception
Java异常类层次结构图: 异常的英文单词是exception,字面翻译就是“意外.例外”的意思,也就是非正常情况.事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误. 比如使用 ...
- 开发Web Service的几种方式
本文作者在学习使用Java开发Web Service(不包括Restful)时,由于不知道Java有这么多框架支持开发Web Service一度陷入迷惘,不知道这些框架各有 什么不同,各有什么优缺点. ...
- PYTHON实现HTTP摘要认证(DIGEST AUTHENTICATION)
参考: http://blog.csdn.net/kiwi_coder/article/details/28677651 http://blog.csdn.net/gl1987807/article/ ...
- smarty模版出现错误提示出现了不期望的字符
2013年7月5日 08:38:49 提示 unexpected "字符或字符串" 查找前边的代码,看是否有字符串单引号或双引号没有成对出现的情况
- Codeforces 389B(十字模拟)
Fox and Cross Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submi ...
- ionic添加admob广告教程
1.在你的ionic项目中使用如下命令添加admob插件: cordova plugin add cordova-plugin-admobpro 2.添加完成后,在$ionicPlatform.rea ...
- July 18th, Week 30th Monday, 2016
Truth needs no color; beauty, no pencil. 真理不需要色彩,美丽无需涂饰. Most of the time, giving some color to trut ...
- CUDA学习笔记(二)——CUDA线程模型
转自:http://blog.sina.com.cn/s/blog_48b9e1f90100fm5b.html 一个grid中的所有线程执行相同的内核函数,通过坐标进行区分.这些线程有两级的坐标,bl ...