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