0

到目前为止我使用的库需要安装。所以他们会生成 xx.a 文件,该文件可以包含在 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 并一直在使用它。

4

1 回答 1

2

在 gcc 中,标头位置的路径由-Iswitch 指定。随着-L您定义编译库位置的路径(带有.a.so文件的目录)。

此外,如果完整路径zz.h不应该包含在 gcc 参数中指定的路径中。/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL/zz.hNTL

所以,你至少需要更换

-L/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL

-I/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include

或许也适用于其他库,并-L在需要的位置添加编译库位置的路径。

于 2015-06-08T12:29:48.647 回答