这个教程最主要的问题就是没有按照默认路径安装软件,都安装到gcc_4_7文件夹,导致编译gcc时有点问题,以及使用gcc时会有点问题
一、编译gcc时的问题
这个时候建议仔细查看config.log文件
1、一个错误是-lpwl没有找到,使用apt-get install 一下就可以
2、另外一个错误是ppl_c.h头文件找不到,下载地址http://bugseng.com/products/ppl/Download/,下载安装
3、安装ppl的错误,经常会报告gmp版本过低,有可能有两个原因
编译gmp,没有打开c++编译,需要重新安装gmp,回到链接文档安装gmp的那一步,使用这个命令重新安装gmp。
../configure --prefix=/usr/gcc_4_7 --build=x86_64-linux-gnu --enable-cxx
make
sudo make install
再编译ppl
第二个原因,因为gmp没有安装在默认路径,设置一下环境路径
export LD_LIBRARY_PATH=/usr/gcc_4_7/lib/:$LD_LIBRARY_PATH
再编译ppl
4、安装好的ppl没有加入共享库导致编译失败
export LD_LIBRARY_PATH=/usr/gcc_4_7/lib/:$LD_LIBRARY_PATH
二、使用gcc时的问题
![ubuntu 12.04 安装 gcc-4.7(部分转载) ubuntu 16.04 安装gcc](http://img.aihuau.com/images/31101031/31021527t016327a6b4c229c2c0.jpg)
1、没有添加环境变量,早不到gcc-4.7的执行文件
vim ~/.bashrc
加入export PATH=/usr/gcc_4_7/bin:$PATH,保存退出
source ~/.bashrc
我们打入gcc,然后按两下tab键,如果能出来gcc-4.7,说明系统已经能找到gcc-4.7编译器了
2、使用g++-4.7编译helloworld.cpp的错误
使用命令g++-4.7 helloworld.cpp -o helloworld出现类似下面找不到共享库的错误
error while loading shared libraries: libmpc.so.3:
这个错误同样是因为共享库的原因,原因是gcc-4.7 lib没有安装在默认路径里面。可以使用指定LD_LIBRARY_PATH,
为了以后方便的使用gcc-4.7,我们使用修改/etc/ld.so.conf方式
sudo vim /etc/ld.so.conf,这个文件记录了编译时动态链接库的目录
加入/usr/gcc_4_7/lib,保存退出
sudo ldconfig,加载修改的ld.so.conf文件
g++-4.7 helloworld.cpp -o helloworld
./helloworld执行成功
恭喜你,后面可以开始测试c++11的新特性了