zoukankan      html  css  js  c++  java
  • 编译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了?恭喜你!

  • 相关阅读:
    软键盘的监听
    获取视频播放时长
    安装hue及hadoop和hive整合
    Centos6.5使用yum安装mysql——快速上手必备(转载)
    Hadoop yarn任务调度策略介绍(转)
    CentOS下RPM方式安装MySQL5.6(转载)
    exists,in的区别-mysql
    CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解决方法
    SpringMVC+Apache Shiro+JPA(hibernate)案例教学(四)基于Shiro验证用户权限,且给用户授权
    SpringMVC+Apache Shiro+JPA(hibernate)案例教学(三)给Shiro登录验证加上验证码
  • 原文地址:https://www.cnblogs.com/iwtwiioi/p/3521820.html
Copyright © 2011-2022 走看看