到目前为止,我使用的库都需要安装。因此,它们生成xx.a文件,可以包含在cygwin中的代码中。但是,用于windows的NTL库只需要解压缩文件。所以我需要知道如何在cygwin命令行中使用它。我已经做了#包括在代码中。问题是在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并一直在使用它。
发布于 2015-06-08 12:29:48
在gcc的标题路径中,位置由-I开关指定。使用-L,您可以定义编译库位置的路径(带有.a或.so文件的目录)。
另外,如果zz.h的完整路径是/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL/zz.h,那么在gcc参数中指定的路径中不应该包含NTL。
所以,你至少需要
-L/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include/NTL使用
-I/cygdrive/c/cygwin/home/Win7/WinNTL-9_2_0/include也许对其他人来说,库也是如此,并在需要-L的地方为编译好的库位置添加路径。
https://stackoverflow.com/questions/30706651
复制相似问题