Estou instalando da fonte e enquanto make
recebo o erro de que um arquivo está ausente:
CXX src/math/libbitcoin_la-crypto.lo
CXX src/math/libbitcoin_la-elliptic_curve.lo
src/math/elliptic_curve.cpp:23:10: fatal error: secp256k1.h: No such file or directory
#include <secp256k1.h>
^~~~~~~~~~~~~
compilation terminated.
Acho que esse arquivo de cabeçalho pode ser encontrado aqui para que eu possa baixá-lo para incluí-lo. Mas não sei onde colocar.
Além disso, não tenho certeza se isso é uma coisa útil a fazer.
O readme diz 'Uma compilação mínima de libbitcoin requer boost e libsecp256k1.' então eu instalei libsecp256k1
no meu sistema já. Mas não estou certo de que isso é o que eles queriam dizer.
Em princípio, você pode colocar arquivos de cabeçalho em qualquer lugar que desejar - contanto que informe ao compilador onde eles estão usando uma
-I
diretiva apropriada:Se o compilador estiver sendo executado por meio de um
make
, geralmente é possível passar essas opções por meio daFLAGS
variável apropriada, em vez de tentar modificar o Makefile. Para C++, normalmente seriaCXXFLAGS
, então você poderia fazer algo como:Se o Makefile já especifica um local para os arquivos de cabeçalho privados do software, você pode simplesmente colocá-lo lá. Ou você pode colocá-lo em um dos locais de pesquisa padrão - que você pode encontrar para gcc/g++ executando
e rolando para baixo até a
#include <...> search starts here
seção. Para cabeçalhos instalados pelo usuário, provavelmente você deve evitar todos esses locais, exceto/usr/local/include
, pois os pacotes do sistema podem substituir os arquivos nos outros.No entanto, no seu caso específico, você deve simplesmente instalar o
libsecp256k1-dev
pacote, que instalará o arquivo de cabeçalho/usr/include
e também instalará as bibliotecas necessárias para vincular o aplicativo com êxito.