gcc 6.1。安装,gmp / mpfr / mpc没有建?

时间:2016-07-06 10:05:33

标签: c++ gcc gmp mpfr mpc

我最近安装了gcc 6.1,专门用于标题中提到的库(gmp / mpfr / mpc)我按照gnu网站的说法:

  

GNU多精度库(GMP)版本4.3.2(或更高版本)   有必要建立海湾合作委员会。如果在a中找到GMP源分发   你的GCC源名为gmp的子目录,它将一起构建   与GCC。或者,如果已安装GMP但未安装GMP   你的图书馆搜索路径,你将不得不配置   --with-gmp配置选项。另请参阅--with-gmp-lib和--with-gmp-include。只有download_precessments安装的GMP版本才支持树内构建。

与其他库相似,即我在下载了我的GCC目录中复制的最后一个版本的源代码,然后在假设它本来就是gcc的“configure”,“make”和“make install”之前与gcc一起构建。但是,当我尝试运行一个使用gmp库的编译项目时,它会说:

error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory

所以我在寻找共享对象的位置,但我无法找到GCC安装它的位置。

我是否应该在安装gcc之前首先编译GMP / MPFR和MPC?因为我认为没有必要。如果我不需要编译库,那么GMP / MPFR和MPC应该安装在哪里?

进一步的细节:

我猜我不会做任何奇怪和复杂的事情。 1.我下载了gcc并将源放在一个目录中。 我下载了所有这些库,作为tar文件; 3.在gcc源根目录(gmp,mpfr和mpc)中创建了三个文件夹,并扩展了此类文件夹中上一步的目录。 4.对于gcc,我执行了./configure --prefix=/path/to/gcc_build 我执行了make 6.然后make install

如果我不使用这些库,我可以编译并执行而不会出现问题,当我需要这些库时,它会在成功编译后返回我提到的错误。如果我查看lib/lib64/路径,则没有任何与gmp库相关的内容。

1 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我。

我使用cygwin从他们的源网站编译GCC 6.3.0,经过研究后跟着这篇文章Here首先我编译了GCC基础设施,包括GMP,MPFR,MPC也是libelf,ppl(可选)。然后尝试使用这个command编译GCC(因为我的目标是针对Linux的GCC,所以我的目标是i686-pc-linux-gnu)。我编译GCC基础设施并将前缀添加到

--prefix=/opt/cross

对于GMP,MPFR,MPC也是libelf和ppl。

所以当我编译GCC时,我可以使用。

--with-gmp=/opt/cross --with-mpfr=/opt/cross --with-mpc=/opt/cross

并且GCC将自动跟踪他们在/ opt / cross目录上所需的基础设施。

因为我多次尝试

./contrib/download_prerequisites

遵循this方法,在尝试编译GCC时总是会出错。

我已经完成了这个方法,为i686-pc-linux-gnu编译GCC也是binutils。但是我没有尝试使用cygwin来编译linux内核。

对不起我的英语,对不起,如果我的答案是OOT。