Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème bibliothèque

    28 mars 2019 à 15:42:51

    Salut à tous, je suis en train de developper un petit logiciel de vérification de signature, et je voudrais chiffre mon hash, jusqu'ici rien d'incroyable, mais voila impossible de faire fonctionner le très petit bout de code qui suit 
    #include <iostream>
    #include "rsa.h"
    #pragma comment (lib, "Rsa.lib")
    
    using namespace std;
    
    int main()
    {
        Rsa rsa;
    
        // Generation d'une paire de cles
        rsa.genererCles(1024);
    
    
        // Recuperation de chacune des cles
        string clePrivee = rsa.clePrivee();
        string clePublique = rsa.clePublique();
    
        // Creation du message secret
        string messageSecret = "Je t'aime Alice";
    
        // Cryptage du message
        string messageCrypte;
        messageCrypte = rsa.chiffrerAvecClePublique(messageSecret);
    
        // Affichage du message crypte
        cout << "Message crypte : " << endl;
        cout << messageCrypte << endl;
    
        return 0;
    }

    il me ressort comme erreur : 

    je sais que c'est un probleme de lib, j'ai copié partout dans mon compilateur la lib librsa.a, mais rien n'y fait, si vous avez une idée ca me dépannerai pas mal, merci d'avance et une bise 

    [ 50%] Linking CXX executable RSA.exe
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\RSA.dir/objects.a(main.cpp.obj): in function `main':
    C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:9: undefined reference to `Rsa::Rsa()'
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:12: undefined reference to `Rsa::genererCles(unsigned int)'
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:16: undefined reference to `Rsa::clePrivee[abi:cxx11]()'
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:17: undefined reference to `Rsa::clePublique[abi:cxx11]()'
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:24: undefined reference to `Rsa::chiffrerAvecClePublique(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:9: undefined reference to `Rsa::~Rsa()'
    c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/DORO Enfguerrand/CLionProjects/RSA/main.cpp:9: undefined reference to `Rsa::~Rsa()'
    collect2.exe: error: ld returned 1 exit status
    mingw32-make.exe[3]: *** [CMakeFiles\RSA.dir\build.make:85: RSA.exe] Error 1
    mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:72: CMakeFiles/RSA.dir/all] Error 2
    mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:84: CMakeFiles/RSA.dir/rule] Error 2
    mingw32-make.exe: *** [Makefile:117: RSA] Error 2



    • Partager sur Facebook
    • Partager sur Twitter
      28 mars 2019 à 16:13:49

      Salut ,

      il ne trouve pas la lib .

      #pragma comment (lib, "Rsa.lib")

      ne fonctionne pas ,add la "lib" a ton projet .

      • Partager sur Facebook
      • Partager sur Twitter
        28 mars 2019 à 16:32:08

        Salut,

        J'ai expliqué en long, en large et en travers le problème lié aux undefined reference to XXX il y a royalement une heure (au moment d'écrire ces lignes) ==>ICI<==.

        Tout ce qui est dit avant la ligne qui commence par "Au vu du nom de la fonction qui pose problème <snip>" s'applique à toi aussi ;)

        Les deux seules différences, c'est que tu utilise Clion (et donc CMake pour la gestion interne de ton projet) et que la bibliothèque qui pose problème est la bibliothèque Rsa (dont il faudra trouver comment tester la présence et la lier avec CMake).

        Mais, en gros, vu qu'il n'y a -- a priori -- aucun problème pour trouver les fichiers d'en-tête, ce qui te manque, c'est un

        target_link_libraries(ton_executable la_bibliothèque_rsa_utilisée) 

        dans ton CMakeLists.txt ;)

        • Partager sur Facebook
        • Partager sur Twitter
        Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
          28 mars 2019 à 18:21:26

          "#pragma comment (lib,...)", c'est pas MSVC only ?
          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            28 mars 2019 à 18:42:50

            bacelar a écrit:

            "#pragma comment (lib,...)", c'est pas MSVC only ?


            Il me semble, en effet :p
            • Partager sur Facebook
            • Partager sur Twitter
            Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
              29 mars 2019 à 11:26:11

              oh bah c'est tip top ! 

              merci bcp les copains !! 

              ca fonctionne !! 

              • Partager sur Facebook
              • Partager sur Twitter

              problème bibliothèque

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown