如何在cygwin中安装和使用NTL

How to install and use NTL in cygwin

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

我目前使用的库都需要安装。生成xx。一个可以包含在cygwin代码中的文件。但是,windows的NTL库只需要解压缩文件。所以我需要知道如何在cygwin命令行中使用它。我在代码中使用了#include。问题是在NTL的包含目录中,所有文件都是"。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路径到头位置指定与-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添加路径到编译库位置。