zoukankan      html  css  js  c++  java
  • Linux在没有root权限的情况下安装gcc环境

    1. 安装gcc

    首先下载新版本的gcc:http://ftp.gnu.org/gnu/gcc/

    安装GCC主要依赖三个库:GMP, MPFR 和MP)。之前的旧版本可能需要手动依次安装这些依赖库,但较新的版本其实只需要在GCC目录下运行下面这个命令就可以自动下载这几个组件,好像不用联网也可以。

    ./contrib/download_prerequisites

    另外GCC不能直接在其源码中编译,而是在它的目录下新建一个文件夹,然后进入这个文件夹配置并编译安装,命令如下。

    ../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/path/to/software/gcc --enable-threads=posix
    make -j16
    make install

    然后将其添加到环境变量就可以了,添加的时候注意'$PATH'和'$LD_LIBRARY_PATH'放在后面,因为系统是从前向后寻找运行的。在.bashrc文件中加入下面两行。

    export PATH=/home/lbz/opt/gcc/bin:$PATH
    export LD_LIBRARY_PATH=/home/lbz/opt/gcc/lib/:/home/lbz/opt/gcc/lib64:$LD_LIBRARY_PATH

    之后执行

    source .bashrc

    但是我在输入后提示错误 if: Expression Syntax。这是由于shell的问题。执行命令bash或者exec bush就可以了。

    至此gcc安装完成,可以gcc -v和g++ -v查看下是否安装成功。

     

    2. 安装binutils

    gcc安装完成后编译代码,但是报错

    /usr/bin/ld: BFD version 2.20.51.0.2-5.47.el6_9.1 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size
    /usr/bin/ld: Please report this bug.
    collect2: ld returned 1 exit status

    这是由于ld版本太老的缘故,需要安装新版本的binutils,下载地址:http://ftp.gnu.org/gnu/binutils/

    之后也是一样进行编译和安装。

    ../configure --prefix=/path/to/software/binutilsmake -j16 && make install

    添加环境变量如下

    export PATH=/home/lbz/opt/binutils/bin:$PATH
    export LD_LIBRARY_PATH=/home/lbz/opt/binutils/lib/:$LD_LIBRARY_PATH

    现在就可以成功编译运行代码了。

     

    3. 安装gdb

    http://ftp.gnu.org/gnu/gdb/

    http://ftp.gnu.org/gnu/texinfo/

     

    ------------------------------------------------------------------------- 花有重开日,人无再少年
  • 相关阅读:
    XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件
    在Xamarin.iOS项目中使用预设数据库
    函数封装多个不同按钮的点击事件
    ajax请求数据动态渲染表格
    计算历时长度
    layui单文件上传
    滚动到顶部固定
    下载
    第一个项目技术总结
    单选框
  • 原文地址:https://www.cnblogs.com/lbz007oi/p/15212227.html
Copyright © 2011-2022 走看看