摘要:自页面下载四个库的源代码,即以及非必需。进入源码目录,开始正式编译简便步骤实际上我们无需手动去下载上述的库源代码,提供了一个脚本,会下载并解压那些源代码,并且在编译的过程中自动编译那些库。
首先我们介绍一种从零做起的编译方式,然后介绍一种相对简便的方法。
下载源码自GNU FTP站下载GCC。
自Infrastructure页面下载四个库的源代码,即GMP、MPFR、MPC以及ISL(ISL非必需)。
编译安装首先用系统中现存的编译器按照顺序编译上述的四个库,指定prefix为$HOME。如果库之间有依赖(例如MPFR依赖GMP),则需要在configure的时候指定--with-SOME_LIB=$HOME。
具体步骤如下:
编译GMP
$ ./configure --prefix=$HOME $ make $ make check $ make install
编译MPFR
$ ./configure --prefix=$HOME --with-gmp=$HOME $ make $ make check $ make install
编译MPC
$ ./configure --prefix=$HOME --with-gmp=$HOME --with-mpfr=$HOME $ make $ make check $ make install
编译ISL
$ ./configure --prefix=$HOME --with-gmp-prefix=$HOME $ make $ make check $ make install
注意
这里需要指定--with-gmp-prefix而不是--with-gmp,否则会提示找不到gmp.h。
在configureGCC的时候,如果提示找不到ISL库且错误信息如下:
checking for version 0.10 of ISL... no
checking for version 0.11 of ISL... no
checking for version 0.12 of ISL... no
checking for version 0.14 of ISL... no
configure: error: Unable to find a usable ISL. See config.log for details.
可以选择:
忽略这个库。
export LD_LIBRARY_PATH=$HOME/lib将$HOME/lib加入共享库搜索路径。
参考下面的简便步骤进行编译。
进入gcc源码目录,开始正式编译GCC:
$ ./configure --prefix=$HOME --with-gmp=$HOME --with-mpfr=$HOME --with-mpc=$HOME --with-isl=$HOME --enable-languages=c,c++ --disable-multilib $ make -j4 $ make install简便步骤
实际上我们无需手动去下载上述的库源代码,GCC提供了一个脚本,会下载并解压那些源代码,并且在编译GCC的过程中自动编译那些库。
下载并解压GCC源码后执行:
$ cd GCC_SOURCE # GCC_SOURCE代表你解压源代码的目录 $ ./contrib/download_prerequisites # 由脚本下载并解压必备库 $ cd #回到家目录 $ mkdir gcc-build $ cd gcc-build $ ../GCC_SOURCE/configure --prefix=$HOME --enable-languages=c,c++ --disable-multilib $ make -j4 $ make install检验结果
由于我们指定了--prefix=$HOME,所以GCC的可执行文件将被安装到$HOME/bin,请确保该目录位于$PATH中,然后执行$ gcc --version确认GCC版本。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/15140.html
摘要:自页面下载四个库的源代码,即以及非必需。进入源码目录,开始正式编译简便步骤实际上我们无需手动去下载上述的库源代码,提供了一个脚本,会下载并解压那些源代码,并且在编译的过程中自动编译那些库。 首先我们介绍一种从零做起的编译方式,然后介绍一种相对简便的方法。 下载源码 自GNU FTP站下载GCC。 自Infrastructure页面下载四个库的源代码,即GMP、MPFR、MPC以及...
摘要:环境基础开发工具使用软件包管理器的三板斧查看软件包安装软件卸载软件和互传文件的三种模式的转换命令模式插入模式底行模式编译器使用函数库调试器使用项目自动化构建工具软件包管理器软件包和软件包管理器就好比手机上的和应用 ...
摘要:按恢复刚刚的撤销。按将光标所在位置开始往后的个字删除,并进入插入模式。跳至指定的行列出光标所在行的行号。退出,如果无法离开,可在后面跟一个表示强制退出。和默认生成的二进制程序是动态链接的,可以使用指令查看。 ...
阅读 2081·2021-11-25 09:43
阅读 3198·2021-11-22 11:59
阅读 752·2021-09-27 13:36
阅读 3461·2021-09-24 09:47
阅读 2050·2021-09-01 11:39
阅读 842·2021-08-31 09:37
阅读 2137·2021-08-05 10:01
阅读 1472·2019-08-30 15:55