altcoin : Après avoir ajouté quelques fichiers, il affiche une référence non définie, comment le résoudre ?


Vous voulez améliorer cette question ? Mettez à jour la question afin qu’elle soit d’actualité pour Bitcoin Stack Exchange.

Fermé il y a 1 heure.

Je suis un débutant qui apprend la source de bitcoin. J’ajoute une nouvelle fonction POW et l’ajoute à la source du bitcoin-0.20.

altcoin : Après avoir ajouté quelques fichiers, il affiche une référence non définie, comment le résoudre ?

a(libbitcoin_common_a-coins.o)  : dans la fonction `SaltedOutpointHasher ::operator()(COutPoint const&) const’  :

/home/gilsun91/bitcoin-0.20/src/./coins.h:108  : référence non définie à `SipHashUint256Extra(unsigned long, unsigned long, uint256 const&, unsigned int)’

collect2  : erreur  : ld a renvoyé 1 état de sortie

Fabriquer : *** Erreur 1

Fabriquer : *** En attente de travaux inachevés.

a(libbitcoin_common_a-coins.o)  : dans la fonction `SaltedOutpointHasher ::operator()(COutPoint const&) const’  :

/home/gilsun91/bitcoin-0.20/src/./coins.h:108  : référence non définie à `SipHashUint256Extra(unsigned long, unsigned long, uint256 const&, unsigned int)’

collect2  : erreur  : ld a renvoyé 1 état de sortie

Fabriquer : *** Erreur 1

a(libbitcoin_server_a-net.o)  : dans la fonction `CConnman ::ConnectNode(CAddress, char const*, bool, bool, bool)’  :

/home/gilsun91/bitcoin-0.20/src/net.cpp:445  : référence non définie à `CSipHasher ::Write(unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/net.cpp:445  : référence non définie à `CSipHasher ::Finalize() const’

a(libbitcoin_server_a-net.o)  : dans la fonction `CConnman ::AcceptConnection(CConnman ::ListenSocket const&)’  :

/home/gilsun91/bitcoin-0.20/src/net.cpp:1028  : référence non définie à `CSipHasher ::Write(unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/net.cpp:1028  : référence non définie à `CSipHasher ::Finalize() const’

a(libbitcoin_server_a-net.o) : dans la fonction `CConnman ::(unsigned long) const’  :

/home/gilsun91/bitcoin-0.20/src/net.cpp:2821  : référence non définie à `CSipHasher ::CSipHasher(unsigned long, unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/net.cpp:2821  : référence non définie à `CSipHasher ::Write(unsigned long)’

a(libbitcoin_server_a-net.o)  : dans la fonction `CConnman ::(CAddress const&) const’  :

/home/gilsun91/bitcoin-0.20/src/net.cpp:2828  : référence non définie à `CSipHasher ::Write(unsigned char const*, unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/net.cpp:2828  : référence non définie à `CSipHasher ::Finalize() const’

a(libbitcoin_server_a-net_processing

cpp:1396  : référence non définie à `CSipHasher ::Write(unsigned long)’

cpp:1396  : référence non définie à `CSipHasher ::Finalize() const’

a(libbitcoin_server_a-net_processing.o)  : dans la fonction `RelayAddress(CAddress const&, bool, CConnman const&)’  :

cpp:1388  : référence non définie à `CSipHasher ::Write(unsigned long)’

cpp:1388  : référence non définie à `CSipHasher ::Write(unsigned long)’

a(libbitcoin_server_a-net_processing.o)  : dans la fonction `SaltedTxidHasher ::operator()(uint256 const&) const’  :

/home/gilsun91/bitcoin-0.20/src/./txmempool.h:367  : référence non définie à `SipHashUint256(unsigned long, unsigned long, uint256 const&)’

a(libbitcoin_server_a-txdb.o)  : dans la fonction `SaltedOutpointHasher ::operator()(COutPoint const&) const’  :

/home/gilsun91/bitcoin-0.20/src/./coins.h:108  : référence non définie à `SipHashUint256Extra(unsigned long, unsigned long, uint256 const&, unsigned int)’

a(libbitcoin_server_a-blockencodings.o)  : dans la fonction ` ::GetShortID(uint256 const&) const’  :

/home/gilsun91/bitcoin-0.20/src/blockencodings.cpp:44  : référence non définie à `SipHashUint256(unsigned long, unsigned long, uint256 const&)’

a(libbitcoin_server_a-blockfilter.o) : dans la fonction `GCSFilter ::HashToRange(std ::vector const&) const’ :

/home/gilsun91/bitcoin-0.20/src/blockfilter.cpp:90  : référence non définie à `CSipHasher ::CSipHasher(unsigned long, unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/blockfilter.cpp:91 : référence non définie à `CSipHasher ::Write(unsigned char const*, unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/blockfilter.cpp:92  : référence non définie à `CSipHasher ::Finalize() const’

a(libbitcoin_util_a-bytevectorhash.o) : dans la fonction `ByteVectorHash: :operator()(std ::vector const&) const’ :

/home/gilsun91/bitcoin-0.20/src/util/bytevectorhash.cpp:17  : référence non définie à `CSipHasher ::CSipHasher(unsigned long, unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/util/bytevectorhash.cpp:17 : référence non définie à `CSipHasher ::Write(unsigned char const*, unsigned long)’

/usr/bin/ld : /home/gilsun91/bitcoin-0.20/src/util/bytevectorhash.cpp:17 : référence non définie à `CSipHasher ::Finalize() const’

collect2  : erreur  : ld a renvoyé 1 état de sortie

Fabriquer : *** Erreur 1

o  : dans la fonction `SaltedTxidHasher ::operator()(uint256 const&) const’  :

/home/gilsun91/bitcoin-0.20/src/./txmempool.h:367  : référence non définie à `SipHashUint256(unsigned long, unsigned long, uint256 const&)’

o  : dans la fonction `SaltedOutpointHasher ::operator()(COutPoint const&) const’  :

/home/gilsun91/bitcoin-0.20/src/./coins.h:108  : référence non définie à `SipHashUint256Extra(unsigned long, unsigned long, uint256 const&, unsigned int)’

o : dans la fonction `crypto_tests: :TestPoly1305(std ::__cxx11 ::basic_string const& std ::__cxx11 ::basic_string const&)’  :

cpp:169  : référence non définie à `poly1305_auth(unsigned char*, unsigned char const*, unsigned long, unsigned char const*)’

o : dans la fonction `crypto_tests: :TestHKDF_SHA256_32(std ::__cxx11 ::basic_string const& std ::__cxx11 ::basic_string const&

cpp:183 : référence non définie à `CHKDF_HMAC_SHA256_L32 ::CHKDF_HMAC_SHA256_L32(unsigned char const*

READWRITE(hachageBlocPrécédent);

READWRITE(hachageMerkleRoot);

READWRITE(nHeure);

READWRITE(nBits);

READWRITE(nNonce);

annuler SetNull()

nVersion = 0 ;

hashPrevBlock.SetNull();

hashMerkleRoot.SetNull();

nHeure = 0 ;

nBits = 0 ;

nNon = 0 ;

bool IsNull() const

retour (nBits == 0);

uint256 GetHash() const;

uint256 GetNewPoWHash() const; //nouvelle fonction de hachage

3, ajoutez la fonction dans block.cpp

#comprendre

#comprendre

#define BEGIN(a) ((char*)&(a))

#define END(a) ((char*)&((&(a))))

#define UBEGIN(a) ((caractère non signé*)&(a))

#define UEND(a) ((caractère non signé*)&((&(a))))

#define ARRAYLEN(tableau) (taillede(tableau)/taillede((tableau)))

uint256 CBlockHeader ::GetHash() const

return SerializeHash(*this);

uint256 CBlockHeader ::GetNewPoWHash() const //nouveau ! !

return HashX13sm3(BEGIN(nVersion), END(nNonce));

CheckProofOfWork(pblock-

Alors, comment le résoudre ? Merci beaucoup.