Как установить и использовать NTL в Cygwin

Библиотеки, которые я использовал до сих пор, требуют установки. Поэтому они генерируют файл xx.a, который может быть включен в код в cygwin. Однако библиотека NTL для Windows требует только распаковать файл. Поэтому мне нужно знать, как использовать его в командной строке Cygwin. Я сделал #include в коде. Проблема в том, что в директории 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 и использую его.

0

Решение

В 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 где они нужны.

2

Другие решения


По вопросам рекламы [email protected]