Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Verwendung der Crypto++ Bibliothek

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.07.2005, 16:02 Uhr
~Michael_Z.
Gast


Hallo,

ich habe leider ein dummes Problem mit der Crypto++ library von Wei Dai. Ich habe diese mit dem vorhandenen Projekten problemlos benutzen können. Nun aber habe ich versucht mit VS 2003.NET die crypto.lib für ein simples Programm zu verwenden - leider erfolglos.

Nachdem ich über die Projekt Eigenschaften den Pfad zu den Headern der crypto++ angegeben und diese entsprechend includiert habe, erhalte ich beim Linken immer einige LNK 2001 Errors. Nachdem ich alle unnötigen Codezeilen und Dateien entfernt habe sieht mein Code jetzt so aus:


C++:
#include "dll.h"
#include <iostream>
#include <string>
#include "MD5.h"
#include "SHA.h"
#include <sha.h>
#include <md5.h>
#include "md5.h"
#include "ripemd.h"
#include "rng.h"
#include "gzip.h"
#include "default.h"
#include "randpool.h"
#include "ida.h"
#include "base64.h"
#include "wait.h"
#include "factory.h"
#include "validate.h"
#include "bench.h"

USING_NAMESPACE(CryptoPP)
USING_NAMESPACE(std)

void DigestFile(const char *filename)
{
    MD5 md5;
    SHA sha;
    RIPEMD160 ripemd;
    SHA256 sha256;
    HashFilter md5Filter(md5), shaFilter(sha), ripemdFilter(ripemd), sha256Filter(sha256);

    auto_ptr<ChannelSwitch> channelSwitch(new ChannelSwitch);
    channelSwitch->AddDefaultRoute(md5Filter);
    channelSwitch->AddDefaultRoute(shaFilter);
    channelSwitch->AddDefaultRoute(ripemdFilter);
    channelSwitch->AddDefaultRoute(sha256Filter);
    FileSource(filename, true, channelSwitch.release());

    HexEncoder encoder(new FileSink(cout), false);
    cout << "\nMD5: ";
    md5Filter.TransferTo(encoder);
    cout << "\nSHA-1: ";
    shaFilter.TransferTo(encoder);
    cout << "\nRIPEMD-160: ";
    ripemdFilter.TransferTo(encoder);
    cout << "\nSHA-256: ";
    sha256Filter.TransferTo(encoder);
}

int main()
{
    CryptoPP::MD5 test;
    DigestFile("c:\\test.dat");

    return 0;
}




Leider immer noch mit den Linker Fehlern. Ich vermute das die Projekteinstellungen nicht korrekt sind, speziell die in den Linker Angaben. Falls jemand weiß wie die Einstellungen unter Visual Studio 2002/2003.NET aussehen oder warum ich diese Fehler erhalte würde ich mich über dessen Hilfe sehr freuen.

PS: Die Error Messages

main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP:L_GroupPrecomputation<struct CryptoPP::ECPPoint>:L_GroupPrecomputation<struct CryptoPP::ECPPoint>(class CryptoPP:L_GroupPrecomputation<struct CryptoPP::ECPPoint> const &" (??0?$DL_GroupPrecomputation@UECPPoint@CryptoPP@@@CryptoPP@@$$FQAE@ABV01@@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP::EC2N::EC2N(class CryptoPP::EC2N const &" (??0EC2N@CryptoPP@@$$FQAE@ABV01@@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP:L_GroupPrecomputation<struct CryptoPP::EC2NPoint>:L_GroupPrecomputation<struct CryptoPP::EC2NPoint>(class CryptoPP:L_GroupPrecomputation<struct CryptoPP::EC2NPoint> const &" (??0?$DL_GroupPrecomputation@UEC2NPoint@CryptoPP@@@CryptoPP@@$$FQAE@ABV01@@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP::FileSink::FileSink(class std::basic_ostream<char,struct std::char_traits<char> > &" (??0FileSink@CryptoPP@@$$FQAE@AAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP::FileSource::FileSource(char const *,bool,class CryptoPP::BufferedTransformation *,bool)" (??0FileSource@CryptoPP@@$$FQAE@PBD_NPAVBufferedTransformation@1@1@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP::ChannelSwitch::ChannelSwitch(void)" (??0ChannelSwitch@CryptoPP@@$$FQAE@XZ)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP::RawDES::RawDES(class CryptoPP::RawDES const &" (??0RawDES@CryptoPP@@$$FQAE@ABV01@@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CryptoPP::IteratedHash<unsigned int,struct CryptoPP::EnumToType<enum CryptoPP::ByteOrder,1>,64,class CryptoPP::HashTransformation>::IteratedHash<unsigned int,struct CryptoPP::EnumToType<enum CryptoPP::ByteOrder,1>,64,class CryptoPP::HashTransformation>(class CryptoPP::IteratedHash<unsigned int,struct CryptoPP::EnumToType<enum CryptoPP::ByteOrder,1>,64,class CryptoPP::HashTransformation> const &" (??0?$IteratedHash@IU?$EnumToType@W4ByteOrder@CryptoPP@@$00@CryptoPP@@$0EA@VHashTransformation@2@@CryptoPP@@$$FQAE@ABV01@@Z)


Güße
Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.07.2005, 14:53 Uhr
~Michael_Z.
Gast


Hat sich erledigt .

Gruß
Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: