如何在cygwin中安装和使用NTL
How to install and use NTL in cygwin
到目前为止我使用的库需要安装。所以他们生成 xx.a 文件,可以包含在 cygwin 的代码中。然而,windows 的 NTL 库只需要解压文件。所以我需要知道如何在 cygwin 命令行中使用它。我在代码中完成了#include。问题是在 NTL 的 include 目录中,所有文件都是“.h”。
我所做的是:
g++ -c Polynomial.cpp -L/cygdrive/c/cygwin/home/Win7/libpaillier -
l:libpaillier.a -L/cygdrive/c/cygwin/home/Win7/Cryptopp -l:libcryptopp.a -
L/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL -lgmpxx -lgmp
但我得到以下错误:
fatal error: NTL/ZZ.h: No such file or directory
#include <NTL/ZZ.h>
^
compilation terminated.
如果有人能给我一个线索就太好了。 TBC:我已经安装了 GMP 并一直在使用它。
在 gcc 中 headers 位置的路径是用 -I
开关指定的。使用 -L
您可以定义编译库位置的路径(包含 .a
或 .so
文件的目录)。
此外,如果 zz.h
的完整路径是 /cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL/zz.h
,则 NTL
不应包含在 gcc 参数中指定的路径中。
所以,你至少需要更换
-L/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL
和
-I/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include
也许还有其他库,并在需要的地方添加编译库位置的路径 -L
。
到目前为止我使用的库需要安装。所以他们生成 xx.a 文件,可以包含在 cygwin 的代码中。然而,windows 的 NTL 库只需要解压文件。所以我需要知道如何在 cygwin 命令行中使用它。我在代码中完成了#include。问题是在 NTL 的 include 目录中,所有文件都是“.h”。
我所做的是:
g++ -c Polynomial.cpp -L/cygdrive/c/cygwin/home/Win7/libpaillier -
l:libpaillier.a -L/cygdrive/c/cygwin/home/Win7/Cryptopp -l:libcryptopp.a -
L/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL -lgmpxx -lgmp
但我得到以下错误:
fatal error: NTL/ZZ.h: No such file or directory
#include <NTL/ZZ.h>
^
compilation terminated.
如果有人能给我一个线索就太好了。 TBC:我已经安装了 GMP 并一直在使用它。
在 gcc 中 headers 位置的路径是用 -I
开关指定的。使用 -L
您可以定义编译库位置的路径(包含 .a
或 .so
文件的目录)。
此外,如果 zz.h
的完整路径是 /cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL/zz.h
,则 NTL
不应包含在 gcc 参数中指定的路径中。
所以,你至少需要更换
-L/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL
和
-I/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include
也许还有其他库,并在需要的地方添加编译库位置的路径 -L
。