IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dev-C++ Discussion :

[Dev-C++ / GCC] Impossible de compiler la lib Crypto++


Sujet :

Dev-C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    ovh
    ovh est d�connect�
    R�dacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par d�faut [Dev-C++ / GCC] Impossible de compiler la lib Crypto++
    Bonjour � tous

    J'ai de gros soucis avec la lib Crypto++. Comme je ne trouve aucun devpak, je veux la compiler moi-m�me, mais pas moyen il me met "nothing to be done" !! J'essaie de compiler le code sous linux, pareil...

    Comme sur mon linux Debian j'ai la chance d'avoir une version pr�compil�e, je l'installe, puis je copie les fichiers libcrypto++.a et .la dans le r�pertoire "lib" de Dev-C++ mais �a ne marche pas non plus : mon applic de test compile tr�s bien mais ne link pas J'ai une chi�e de "undefined reference to ...".

    Par contre si je compile une petite applic de test sur mon linux avec la lib pr�compil�e install�e (merci apt-get), �a compile tr�s bien.
    Mais mon applic doit marcher aussi sous Windows...

    Une id�e ? J'avoue ne pas �tre tr�s exp�riment� avec la compil de lib...
    En fait avec la lib xbase j'avais rencontr� des soucis similaires et j'avais d'ailleurs abandonn�...

    Merci d'avance

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez � consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les r�gles.

    Je n'ai rien � voir avec la soci�t� www.ovh.com !

  2. #2
    HRS
    HRS est d�connect�
    Membre chevronn�
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par d�faut
    En r�gle g�n�rale, un compilateur ne peut pas utiliser une librairie
    cr��e par un autre compilateur

    il vous faut donc mettre la main

    -soit sur libcripto++.a cr�e par Mingw (devc++)

    -soit sur les source de cripto++ pour recr�er libcripto++.a avec devc++

  3. #3
    ovh
    ovh est d�connect�
    R�dacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par d�faut
    Citation Envoy� par HRS
    -soit sur les source de cripto++ pour recr�er libcripto++.a avec devc++
    En effet mais tout le probl�me vient de l� : impossible de compiler les sources...

    Et c'est vrai qu'un fichier .a pour linux ne marche pas sous windows m�me si c'est gcc aussi, il fallait s'y attendre, mais bon j'ai toujours essay� au cas o�

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez � consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les r�gles.

    Je n'ai rien � voir avec la soci�t� www.ovh.com !

  4. #4
    ovh
    ovh est d�connect�
    R�dacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par d�faut
    Bon hum, honte � moi j'ai �t� distrait, en fait il fallait sp�cifier
    et moi je faisais juste
    donc il ne voyait m�me pas le makefile en fait...

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez � consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les r�gles.

    Je n'ai rien � voir avec la soci�t� www.ovh.com !

  5. #5
    ovh
    ovh est d�connect�
    R�dacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par d�faut
    En fait mon probl�me n'est toujours pas r�solu... Ca ne compile pas jusqu'au bout, j'ai des messages d'erreur � coucher dehors... Pourtant j'ai quand m�me un fichier libcryptopp.a de 9 MB qui est cr��, mais quand j'essaie de l'ajouter � mon projet et de compiler, il me met une tonne de messages d'erreur du linker : "undefined reference to CryptoPP::XXX" pour une s�rie de classes de la lib.

    Bref je patauge... Quelqu'un pourrait-il me donner un coup de main ?...


    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez � consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les r�gles.

    Je n'ai rien � voir avec la soci�t� www.ovh.com !

  6. #6
    ovh
    ovh est d�connect�
    R�dacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par d�faut
    Mon probl�me ne progresse pas d'un poil...

    Voici un petit code que j'ai fait rapidement pour tester la lib : (calcule une signature SHA-512)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    /*
    Prog de test pour la lib Crypto++
    Compile: g++ -o hashtest hashtest.cpp -lcrypto++
     
    Site pour tester: http://serversniff.net/content.php?do=hash
    */
     
    #include <iostream>
    #include <string>
     
    // à remplacer par <cryptopp/...> sous windows
    #include <crypto++/cryptlib.h>
    #include <crypto++/sha.h>
     
    using namespace std;
    using namespace CryptoPP;
     
    int main() {
    	string plaintext;
    	byte sig[ SHA512::DIGESTSIZE ];
     
    	cout<<"Chaîne de caractères à hasher: ";
    	getline(cin, plaintext);       // pour saisir des chaînes avec espaces
     
    	// appel à la lib Crypto++ pour calculer le hash
    	SHA512 hash;
    	hash.CalculateDigest(sig, (byte const *)plaintext.c_str(), plaintext.size());
     
    	cout<<"Hash ("<<SHA512::DIGESTSIZE<<" bytes) = ";
    	for (int i=0; i<SHA512::DIGESTSIZE; i++) cout<<hex<<uppercase<<(int)sig[ i ]<<" ";
    	cout<<dec<<nouppercase<<endl;
    }
    Ceci marche parfaitement sous linux

    Et sous Windows, en utilisant MinGW directement, voici le r�sultat de la compil :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    F:\Olivier\projects\win32progs>g++ -o hashtest.exe hashtest.cpp -lcryptopp
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGEbaaa.o:hashtest.cpp:(.rdata$_ZTVN8CryptoP
    P6SHA512E[vtable for CryptoPP::SHA512]+0x44): undefined reference to `CryptoPP::
    IteratedHashBase<unsigned long long, CryptoPP::HashTransformation>::TruncatedFin
    al(unsigned char*, unsigned int)'
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGEbaaa.o:hashtest.cpp:(.rdata$_ZTVN8CryptoP
    P31IteratedHashWithStaticTransformIyNS_10EnumToTypeINS_9ByteOrderELi1EEELj128ELj
    64ENS_6SHA512ELj64EEE[vtable for CryptoPP::IteratedHashWithStaticTransform<unsig
    ned long long, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 128u, 64u, CryptoPP
    ::SHA512, 64u>]+0x44): undefined reference to `CryptoPP::IteratedHashBase<unsign
    ed long long, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsi
    gned int)'
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGEbaaa.o:hashtest.cpp:(.rdata$_ZTVN8CryptoP
    P12ClonableImplINS_6SHA512ENS_13AlgorithmImplINS_12IteratedHashIyNS_10EnumToType
    INS_9ByteOrderELi1EEELj128ENS_18HashTransformationEEES1_EEEE[vtable for CryptoPP
    ::ClonableImpl<CryptoPP::SHA512, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<
    unsigned long long, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 128u, CryptoPP
    ::HashTransformation>, CryptoPP::SHA512> >]+0x44): undefined reference to `Crypt
    oPP::IteratedHashBase<unsigned long long, CryptoPP::HashTransformation>::Truncat
    edFinal(unsigned char*, unsigned int)'
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGEbaaa.o:hashtest.cpp:(.rdata$_ZTVN8CryptoP
    P13AlgorithmImplINS_12IteratedHashIyNS_10EnumToTypeINS_9ByteOrderELi1EEELj128ENS
    _18HashTransformationEEENS_6SHA512EEE[vtable for CryptoPP::AlgorithmImpl<CryptoP
    P::IteratedHash<unsigned long long, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>
    , 128u, CryptoPP::HashTransformation>, CryptoPP::SHA512>]+0x44): undefined refer
    ence to `CryptoPP::IteratedHashBase<unsigned long long, CryptoPP::HashTransforma
    tion>::TruncatedFinal(unsigned char*, unsigned int)'
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGEbaaa.o:hashtest.cpp:(.rdata$_ZTVN8CryptoP
    P12IteratedHashIyNS_10EnumToTypeINS_9ByteOrderELi1EEELj128ENS_18HashTransformati
    onEEE[vtable for CryptoPP::IteratedHash<unsigned long long, CryptoPP::EnumToType
    <CryptoPP::ByteOrder, 1>, 128u, CryptoPP::HashTransformation>]+0x44): undefined
    reference to `CryptoPP::IteratedHashBase<unsigned long long, CryptoPP::HashTrans
    formation>::TruncatedFinal(unsigned char*, unsigned int)'
    collect2: ld returned 1 exit status





    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez � consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les r�gles.

    Je n'ai rien � voir avec la soci�t� www.ovh.com !

Discussions similaires

  1. compilation impossible, il manque un .lib
    Par Darkaurora dans le forum C++Builder
    R�ponses: 1
    Dernier message: 12/06/2010, 16h01
  2. R�ponses: 6
    Dernier message: 05/06/2006, 18h43
  3. [Dev-cpp] Impossible de compiler le projet !
    Par Franck.H dans le forum Dev-C++
    R�ponses: 5
    Dernier message: 18/10/2005, 11h55
  4. [JOnAS][JOPE] impossible de compiler un bean
    Par Raylemon dans le forum Eclipse Java
    R�ponses: 1
    Dernier message: 05/04/2005, 16h48
  5. Probl�me entre Dev-c++ et Borland c++ compiler 5.5
    Par Argonz dans le forum Dev-C++
    R�ponses: 6
    Dernier message: 21/10/2003, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo