[英]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.