使用GMP安装NTL

installing NTL with GMP

本文关键字:NTL 安装 GMP 使用      更新时间:2023-10-16

我遇到的问题是在我的Mac(Sierra)上安装NTL。

这些是我在本教程之后采取的步骤

1)我下载了unix:ntl-10.3.0.tar.gz

2)双击文件以创建我的下载中的ntl-10.3.0.tar.gz文件夹

3)

cd ~/Downloads/ntl-10.3.0/src
./configure
make

这给了我一个错误,因为我想我还没有安装GMP:

gen_gmp_aux.cpp:26:10: fatal error: 'gmp.h' file not found
#include <gmp.h>

4)此页面上有一些说明描述了如何安装GMP

5)我从这里下载GMP-6.2.2.2.2.tar.lz。(并不是重要

6)我发现.lz扩展需要LZIP命令:

7)

brew install lzip
cd ~/Downloads
lzip -d gmp-6.1.2.tar.lz 
tar -xf gmp-6.1.2.tar
cd gmp-6.1.2

8)

注意:阅读说明,我不使用-prefix = $ home/sw进行配置,因为我希望它安装在/usr/local目录中,而不是我的主目录

./configure
make
make check

没有出现错误,每件事都是绿色的,并说"通过"

9)

make install

10)

回到NTL

cd ~/Downloads/ntl-10.3.0/src/
make

我有与以前相同的错误:

gen_gmp_aux.cpp:26:10: fatal error: 'gmp.h' file not found
#include <gmp.h>

11)

我在我的目录中看

ls -la /usr/local/include/

并在那里找到了GMP.H应该为

12)

我创建一个简单的.cpp文件来测试它(基本上只是与关联的Incluble)

"
g++ someFile.cpp -lgmp

在顶部

#include <gmp.h> 

似乎找不到同样的致命错误消息。

其他人似乎也遇到了这个问题(我只能发现几年前)其中一个人这样做了:

brew uninstall gmp
brew install gmp

遵循西装,我也做了,然后尝试再次制作NTL,但仍然不起作用……

我知道我可以在构建中不使用GMP的标志:

,如果您只需要静态库,也可以提供选项 - 可与配置脚本共享。但是,如果您最终想将NTL构建为共享库,那么您还必须作为共享库。

但我真的很想。

我在做什么错?有什么建议吗?

我考虑过发送错误报告,但我认为这不是一个错误,这是我的配置。

也许可以通过在/src目录中编辑file.txt来解决安装NTL的问题。您可以尝试在以下字符串中使用适当的目录(例如/usr/local//usr/local/include//usr/local/lib/)替换@{GMP_XXX}

GMP_PREFIX=@{GMP_PREFIX}
GMP_INCDIR=@{GMP_INCDIR}
#directory containing gmp.h if using GMP 
GMP_LIBDIR=@{GMP_LIBDIR}
#directory containing libgmp.a if using GMP 

此外,本教程可能非常有用。