打算学习C++ 11,所以要换编译器,下载了最新的源码后,按常规过程编译:
1、解压缩RPM包:
[root@linuxopt]# tar xjvf gcc-4.0.1.tar.bz2 (解压后生成源目录/opt/gcc-4.0.1)
2、创建安装目标目录:
[root@linux opt]# mkdir /usr/local/gcc-4.0.1/
3、进入安装目标目录:
[root@linux opt]# cd /usr/local/gcc-4.0.1/ (这一步很重要,配置安装文件时,需要在目标目录下执行configure命令)
[root@linux opt]# pwd
/usr/local/gcc-4.0.1
4、配置安装文件:
[root@linux gcc-4.0.1]# % ../gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux--with-system-zlib --enable-languages=c,c++,java
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
5、编译安装文件:
[root@linux gcc-4.0.1]# pwd
/usr/local/gcc-4.0.1
[root@linux gcc-4.0.1]# make (在目标目录下执行编译)
6、安装gcc:
[root@linux gcc-4.0.1]# pwd
/usr/local/gcc-4.0.1
[root@linux gcc-4.0.1]# make install (在目标目录下执行安装)
以上为别人的安装流程,我安装的是最新的Gcc-4.7.2,步骤差不多一样,就是下面有点问题。
可是当make时,不幸出现了,
“checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/tmp/gcc-4.3.2'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/tmp/gcc-4.3.2'
make: *** [bootstrap] Error 2
按照提示打开config.log
找到错误的原因:“when loading shared libraries:libmpc.so.3:cannot open shared object file: No such file or directory”.
原来如此,接下来把mpc ,gmp,mpfr 的lib文件夹果断加入到 LD_LIBRARY_PATH 变量
注意此处的三个lib,根据你所安装的路径来设置。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0/lib:/usr/local/gmp-5.0.5/lib:/usr/local/mpfr-3.1.1/lib
接下来重新配置
make
然后等待N久
............
成功! C++ 11学习ing!