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

Reply via email to