0

これまで使用してきたライブラリは、インストールが必要です。そのため、cygwin のコードに含めることができる xx.a ファイルを生成します。ただし、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 では、ヘッダーの場所へのパスは-Iスイッチで指定されます。-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 に答える