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.
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.