ho le seguenti righe in un file di grandi dimensioni piuttosto:Crypto ++ dando un errore del compilatore in algparam.h
#include <sha.h>
#include <hex.h>
che, una volta compilato, getta questo errore del compilatore:
1>d:\work\app\tools\cryptopp\algparam.h(322): error C2061: syntax error : identifier 'buffer'
1> d:\work\app\tools\cryptopp\algparam.h(321) : while compiling class template member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void *) const'
1> with
1> [
1> T=bool
1> ]
1> d:\work\app\tools\cryptopp\algparam.h(329) : see reference to class template instantiation 'CryptoPP::AlgorithmParametersTemplate<T>' being compiled
1> with
1> [
1> T=bool
1> ]
Sono sono sicuro che sto dimenticando qualcosa, ma non sono sicuro di cosa. Se non includo hex.h, non ho alcun problema e ottengo un hash SHA256 bene, ma quando includo hex.h, l'errore si apre.
Modifica
Nel caso qualcuno si chiede, da algparam.h di Crypto ++ toolkit:
void MoveInto(void *buffer) const //<=== line 320
{
AlgorithmParametersTemplate<T>* p = new(buffer)
AlgorithmParametersTemplate<T>(*this);
}
CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate<bool>; // <== line 329
Edit: il codice non correlato Rimosso
È questo l'intero testo dell'errore? Ci sono altri errori? C'è qualche collegamento tra il codice di 'InitEngine' che citi e questo errore? Il testo dell'errore non fa riferimento a esso, o qualcosa al suo interno. L'errore si verifica ancora quando commentate 'InitEngine'? –
No, nessuno del codice fa riferimento a questa funzione 'MoveInto'. Tuttavia, hex.h sembra includere basecode.h, che include algparam.h. Sembra che ogni volta che algparam.h viene incluso, fallisce. – Codecat
E sì, succede ancora se commento il codice in 'InitEngine'. – Codecat