簡體   English   中英

使用GMP安裝NTL

[英]installing NTL with GMP

我遇到的問題是在Mac(Sierra)上安裝帶有GMP的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.1.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文件進行測試(基本上只是主文件以及相關的包含文件)

g++ someFile.cpp -lgmp

這個在頂部

#include <gmp.h> 

並且似乎找不到它,同樣的致命錯誤消息。

其他人似乎也遇到了這個問題(我所能找到的只是幾年前), 其中一個人做到了:

brew uninstall gmp
brew install gmp

我也照做了,然后嘗試再次制作NTL,但仍然不起作用…

我知道我可以添加一個標記以在構建中不使用GMP:

如果只需要靜態庫,還可以提供--disable-shared選項給配置腳本。 但是,如果您最終希望將NTL構建為共享庫,則還必須將GMP作為共享庫。

但我真的很想

我究竟做錯了什么? 有什么建議么?

我曾考慮過發送錯誤報告 ,但我認為這不是錯誤,它與我的配置有關。

也許可以通過編輯/ 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 

而且, 本教程可能非常有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM