I tryed to write a simple hash programm that just reads a file and
then calculates a tiger hash of it.
While compiling I get the following errors:
1>hash_tiger.obj : error LNK2001: Nicht aufgelöstes externes Symbol
""public: virtual void __cdecl CryptoPP::IteratedHashBase<unsigned
__int64,class CryptoPP::HashTransformation>::Update(unsigned char
const *,unsigned __int64)" (?upd...@?
$iteratedhashb...@_kvhashtransformation@CryptoPP@@@CryptoPP@@ueaaxpeb...@z)".
1>hash_tiger.obj : error LNK2001: Nicht aufgelöstes externes Symbol
""public: virtual unsigned char * __cdecl
CryptoPP::IteratedHashBase<unsigned __int64,class
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned __int64
&)" (?createupdatesp...@?
$iteratedhashb...@_kvhashtransformation@CryptoPP@@@CryptoPP@@ueaapeaeae...@z)".
1>hash_tiger.obj : error LNK2001: Nicht aufgelöstes externes Symbol
""public: virtual void __cdecl CryptoPP::IteratedHashBase<unsigned
__int64,class CryptoPP::HashTransformation>::Restart(void)" (?rest...@?
$iteratedhashb...@_kvhashtransformation@CryptoPP@@@CryptoPP@@UEAAXXZ)".
1>hash_tiger.obj : error LNK2001: Nicht aufgelöstes externes Symbol
""public: virtual void __cdecl CryptoPP::Tiger::TruncatedFinal
(unsigned char *,unsigned __int64)" (?
truncatedfi...@tiger@CryptoPP@@ueaaxpea...@z)".
1>hash_tiger.obj : error LNK2001: Nicht aufgelöstes externes Symbol
""public: virtual bool __cdecl
CryptoPP::HashTransformation::TruncatedVerify(unsigned char const
*,unsigned __int64)" (?
truncatedver...@hashtransformation@CryptoPP@@ueaa_npeb...@z)".
1>hash_tiger.obj : error LNK2001: Nicht aufgelöstes externes Symbol
""protected: virtual unsigned __int64 __cdecl
CryptoPP::IteratedHashBase<unsigned __int64,class
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned __int64
const *,unsigned __int64)" (?hashmultipleblo...@?
$iteratedhashb...@_kvhashtransformation@CryptoPP@@@CryptoPP@@meaa_kpeb_...@z)".
1>hash_tiger.obj : error LNK2019: Verweis auf nicht aufgelöstes
externes Symbol ""public: static void __cdecl
CryptoPP::Tiger::Transform(unsigned __int64 *,unsigned __int64 const
*)" (?transf...@tiger@CryptoPP@@saxpea_kpe...@z)" in Funktion
""protected: virtual void __cdecl
CryptoPP::IteratedHashWithStaticTransform<unsigned __int64,struct
CryptoPP::EnumToType<enum CryptoPP::ByteOrder,0>,64,24,class
CryptoPP::Tiger,0>::HashEndianCorrectedBlock(unsigned __int64 const
*)" (?hashendiancorrectedbl...@?$iteratedhashwithstatictransform@_KU?
$enumtot...@w4byteorder@CryptoPP@@$0A@@CryptoPP@@$...@$0bi@vti...@2@
$0A@@CryptoPP@@meaaxpe...@z)".
1>hash_tiger.obj : error LNK2019: Verweis auf nicht aufgelöstes
externes Symbol ""public: static void __cdecl
CryptoPP::Tiger::InitState(unsigned __int64 *)" (?
initst...@tiger@CryptoPP@@saxpe...@z)" in Funktion ""protected:
virtual void __cdecl
CryptoPP::IteratedHashWithStaticTransform<unsigned __int64,struct
CryptoPP::EnumToType<enum CryptoPP::ByteOrder,0>,64,24,class
CryptoPP::Tiger,0>::Init(void)" (?i...@?
$iteratedhashwithstatictransf...@_ku?$enumtotype@w4byteor...@cryptopp@@
$0A@@CryptoPP@@$...@$0bi@vti...@2@$0A@@CryptoPP@@MEAAXXZ)".
1>hash_tiger.obj : error LNK2019: Verweis auf nicht aufgelöstes
externes Symbol ""public: __cdecl CryptoPP::Algorithm::Algorithm
(bool)" (??0algori...@cryptopp@@q...@_n@Z)" in Funktion ""public:
__cdecl CryptoPP::HashTransformation::HashTransformation(void)" (??
0hashtransformat...@cryptopp@@q...@xz)".
Here is the code of my Programm if it helps:
// hash_tiger.cpp : Definiert den Einstiegspunkt für die
Konsolenanwendung.
//
#include <iostream>
#include <fstream>
#include "stdafx.h"
#include "..\Crypto\tiger.h"
using namespace std;
using namespace CryptoPP;
ifstream::pos_type size;
byte * pbData;
int _tmain(int argc, char *argv[])
{
string filename = "C:\temp.dat";
ifstream dat_ein;
byte abDigest[Tiger::DIGESTSIZE];
/*
if(argc > 1)
filename = argv[1];
else
{
cerr << "Wrong paramter!";
return 1;
}
*/
/* File input */
dat_ein.open(filename.c_str(), ios::in | ios::binary | ios::ate);
//
open file for binary input with pointer at end of file
if(!dat_ein)
{
cerr << "Error with file!";
return 1;
}
size = dat_ein.tellg(); // get the size of the file
pbData = new byte [size]; // allocation of memory
dat_ein.seekg (0, ios::beg); // set pointer to beginning of file
dat_ein.read((char *) &pbData, size); // read whole file at once
dat_ein.close(); // close file
/* Crypto++ */
Tiger thash;
thash.CalculateDigest(abDigest, pbData, size);
cout << "Hash for file = " << abDigest;
return 0;
}
If somebody knows where the error lies, I would be very thankful.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---