unix 使用GMP安装NTL

kcwpcxri  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(229)

我遇到的问题是在我的Mac(Sierra)上安装带有GMP的NTL。
这些是我在this教程之后采取的步骤
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)this页面上有说明,描述如何安装GMP
5)我从here下载了gmp-6.1.2.tar.lz。(这并不重要,但请注意说明中的扩展名不同......我提到的一切只是以防万一)
6)我发现.lz扩展名需要lzip command
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

八、
注意:在阅读说明时,我没有使用-prefix=$HOME/sw进行配置,因为我希望将其安装在/usr/local目录中,而不是安装在我的主目录中

./configure
make
make check

未出现错误,所有内容均为绿色并显示“通过”
九)

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>

十一)
我在我的目录中查找

ls -la /usr/local/include/

在那里找到了gmp. h
12个)
我创建了一个简单的.cpp文件来测试它(基本上只是main和相关的include)

g++ someFile.cpp -lgmp

上面有这个


# include <gmp.h>

而且它似乎没有找到它,同样的致命错误消息。
其他人似乎也遇到过这个问题(我所能找到的都是几年前的事了)one of the guys这样做了:

brew uninstall gmp
brew install gmp

我也照做了,然后又试着做了一次NTL,还是不行...
我知道我可以在构建中放置一个标志来禁止使用GMP:
如果你只需要静态库,你也可以给configure脚本提供--disable-shared选项。但是,如果你最终想把NTL构建成一个共享库,那么你也必须把GMP构建成一个共享库。
但我真的很想去。
我做错了什么?有什么建议吗?
我想发送一个bug report,但我不认为这是一个错误,这是与我的配置。

t98cgbkg

t98cgbkg1#

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

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

此外,this tutorial可能非常有用。

相关问题