Como instalar o HElib?

0

Eu descompactei o arquivo HElib-master.zip na minha pasta Downloads.

Então eu obtive meu arquivo fhe.a na pasta Downloads / HElib-master / src mas quando eu executo o comando make Test_General como indicado aqui link Eu recebo erros de compilação como este:

/tmp/ccqnVZGx.o: In function TestIt(long, long, long, long, long, long, long, long, long, NTL::Vec<long> const&, NTL::Vec<long> const&):
Test_General.cpp:(.text+0x32a): undefined reference to FHEcontext::FHEcontext(unsigned long, unsigned long, unsigned long, std::vector<long, std::allocator<long> > const&, std::vector<long, std::allocator<long> > const&)

Eu copiei fhe.a no meu urs/local/ , usr/local/include e usr/local/lib , mas não funcionou.

Como instalar o HElib para que eu possa compilar minhas fontes? Ou o que posso fazer para resolver esses erros de "referência indefinida"?

    
por guglielmo london 30.09.2015 / 11:43

1 resposta

1

A maneira correta de criar os programas de teste no diretório HElib/src parece ser por meio de um destino chamado Test_General_x em vez de simples Test_General , por exemplo,

$ make Test_General_x
HElib requires NTL version 9.4.0 or higher, see http://shoup.net/ntl
If you get compilation errors, try to add/remove -std=c++11 in Makefile

g++ -g -O2  -o Test_General_x Test_General.cpp fhe.a -L/usr/local/lib -lntl -lgmp  -lm

A seção relevante do Makefile é

./%_x: %.cpp fhe.a
        $(CC) $(CFLAGS) -o $@ $< fhe.a $(LDLIBS)

, que você pode ver, adiciona a dependência da biblioteca fhe.a .

    
por steeldriver 30.09.2015 / 14:09