1安装gcc g++ yum -y install gcc 安装g++
yum -y install gcc-c++
只能安装版本4.4.7更新gcc到4.8.1
2,下载gcc 和关联库的源码包:
- 地址: ftp://gcc.gnu.org/pub/gcc/releases ,选择包之后,用wget下载。
- 关联包:ftp://gcc.gnu.org/pub/gcc/infrastructure/
- mpc
- mpfr
- gmp
- isl
- cloog
./configure
make
make check
make install
关联库编译安装完成之后在/usr/local/lib下会生成库文件。在/usr/local/include下会生成.h文件。
4,创建 gcc 编译和安装目录
$ mkdir objdir #编译运行目录
$ mkdir /usr/local/gcc-4.8.1 #编译后头文件存放目录
$ mkdir /usr/local/gcc #编译后bin+lib存放目录
5,开始编译
$cd /.../objdir
$ gcc源码目录/configure #在上面创建的objdir目录执行,切忌在gcc源代码目录执行。
--prefix=/usr/local/gcc-4.8.1
--exec-prefix=/usr/local/gcc
--with-gmp=/usr/local
--with-mpfr=/usr/local
--with-mpc=/usr/local
--with-cloog=/usr/local
--with-isl=/usr/local
--disable-isl-version-check #gcc-4.8.1 的isl库版本检测程序有bug,无法正确判断isl版本0.11.1
--enable-threads=posix
--enable-languages=c,c++
完成之后make
然后 su
最后 make install
6,关于isl版本检测
gcc 源码目录下 configure.ac 和 config/isl.m4 文件对 isl 版本判断有bug,只能支持2个字段版本号。需要加入第3个字段。
http://gcc.gnu.org/ml/gcc/2012-12/msg00202.html
在 configure 时候,可以用 disable-isl-version-check 跳过版本检测。
7,配置后续工作
# 将 gcc/g++ 改名
$ mv /usr/bin/gcc /usr/bin/gcc-4.4.7
$ mv /usr/bin/g++ /usr/bin/g++-4.4.7
在/etc/profile.d下创建 custom.sh ,写入环境变量参数。
export PATH=/usr/local/gcc/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib # 可以根据需要加入其他lib搜索目录,/usr/local/gcc/lib 等。
export C_INCLUDE_PATH=/usr/include
export CPLUS_INCLUDE_PATH=/usr/include/c++/4.8.1:/usr/include/c++/4.8.1/x86_64-unknown-linux-gnu
ln -s /usr/local/gcc-4.8.1/include/c++/4.8.1 /usr/include/c++/4.8.1 # 在 include/c++ 文件夹下添加最新的 c++ 4.8.1 版本(这是个符号链接);
8,测试 helloworld.c
转载http://blog.chinaunix.net/uid-10984648-id-3808697.html