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

 C++ Discussion :

Utiliser Openssl ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut Utiliser Openssl ?
    Bonjours,

    Je voudrai savoir si un tutoriel sur openssl est disponible j.'ai rien trouver pour le moment ?

    J'ai regarder sur le site d'openssl mai je ne sai pas ce qu' il faut télécharger

    Merci'davance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut
    Après quelque et longue tentative voici ou j'en suis:



    installation ou plutôt placement du fichier openssl-1.1.1c-win64-mingw.zip.

    code du fichier:

    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
     
    #include <iostream>
    #include <stdio.h>
    #include <C:\Users\UseCH\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include\openssl\ssl.h>
    #include <C:\Users\UseCH\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include\openssl\evp.h>
     
    #pragma comment (lib, "libeay32.lib" )
    #pragma comment (lib, "ssleay32.lib" )
     
    //using namespace std;
     
    int main()
    {
        SSL_library_init();
        OpenSSL_add_all_algorithms();
        EVP_cleanup();
        std::cout << "Hello world!" << std::endl;
        return 0;
    }
    sous code block:

    cadre de gauche (link lbrarie)
    C:\Users\UseCH\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib\libssl.a
    C:\Users\UseCH\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib\libcrypto.a

    cadre de droite:
    option compilateur -> linker setting > -lssl -lcrypto

    dans l'onglet search directory-> compiler:

    C:\UseCH\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include

    dans compilateur -> linker
    C:\UseCH\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib


    l'erreur est la suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ||=== Build: Debug in testopenssl (compiler: GNU GCC Compiler) ===|
    C:\Users\UseCH\Documents\Devcpp\testopenssl\testopenssl\main.cpp|6|warning: ignoring #pragma comment  [-Wunknown-pragmas]|
    C:\Users\UseCH\Documents\Devcpp\testopenssl\testopenssl\main.cpp|7|warning: ignoring #pragma comment  [-Wunknown-pragmas]|
    obj\Debug\main.o||In function `main':|
    C:\Users\UseCH\Documents\Devcpp\testopenssl\testopenssl\main.cpp|13|undefined reference to `OPENSSL_init_ssl'|
    C:\Users\UseCH\Documents\Devcpp\testopenssl\testopenssl\main.cpp|14|undefined reference to `OPENSSL_init_crypto'|
    ||error: ld returned 1 exit status|
     
    ||=== Build failed: 3 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
    Le fichier est bien présent pragma aussi, je ne vois ou est le problème. un petit coup de main serai la bienvenue.

    rappel windows 10 et code block
    Merci d'avance

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2011
    Messages : 71
    Par défaut
    Je ne connais pas Code Blocks

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <openssl/ssl.h>
    #include <openssl/evp.h>
    Ceci dit vu l'erreur retournée je ne pense pas que ce soit le problème.
    Peux-tu nous donner la ligne de compilation complète générée par l'IDE ?

    Sinon je ne comprends pas pourquoi tu as deux répertoires "lib".

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut
    Merci pour ta réponse , voici le log plus complet. La machine est plus la même a peux de chose près mai la disposition est identique dans code block.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    -------------- Build: Debug in testopenssl (compiler: GNU GCC Compiler)---------------
    mingw32-g++.exe -LC:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib -LC:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib -o bin\Debug\testopenssl.exe obj\Debug\main.o  -lmingw32 -lSDL2main -lSDL2 -lssl -lcrypto  C:\CodeBlocks\MinGW\lib\libmingw32.a C:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib\libSDL2main.a C:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib\libSDL2.a C:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib\libSDL2.dll.a C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib\libssl.a C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib\libcrypto.a
    obj\Debug\main.o: In function `main':
    C:/Users/Xerox/Documents/Devcpp/testopenssl/testopenssl/main.cpp:13: undefined reference to `OPENSSL_init_ssl'
    C:/Users/Xerox/Documents/Devcpp/testopenssl/testopenssl/main.cpp:14: undefined reference to `OPENSSL_init_crypto'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    3 error(s), 0 warning(s) (0 minute(s), 0 second(s))

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2011
    Messages : 71
    Par défaut
    La honnêtement je ne sais pas trop la ligne de compil à l'air OK (même si je ne sais pas pourquoi l'IDE met explicitement le chemin vers les librairies à la fin).
    Le problème se trouve à l'édition des liens ça donne l'impression que tu n'as pas les bonne lib ou les bonnes versions.
    Peut être que quelqu'un d'autre aura une idée ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par panthere noire Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <C:\Users\UseCH\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include\openssl\ssl.h>
    #include <C:\Users\UseCH\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include\openssl\evp.h>
    Ces includes sont ridicules. On ne met jamais le path complet...
    Tu utilises Dev-cpp ou C::B ??

    Citation Envoyé par panthere noire Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #pragma comment (lib, "libeay32.lib" )
    #pragma comment (lib, "ssleay32.lib" )
    Dev-cpp/C::B (mingw) utilisait des .a et non des .lib.
    Enfin encore faudrait-il qu'il accepte cette syntaxe déjà mais...
    Citation Envoyé par panthere noire Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Users\UseCH\Documents\Devcpp\testopenssl\testopenssl\main.cpp|6|warning: ignoring #pragma comment  [-Wunknown-pragmas]|
    C:\Users\UseCH\Documents\Devcpp\testopenssl\testopenssl\main.cpp|7|warning: ignoring #pragma comment  [-Wunknown-pragmas]|
    Non il l'accepte pas. Et il te le dit depuis le début. Les messages d'erreur sont faits pour être lus.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut
    Merci pour ta réponse
    Je ne savais pas pour le path complet, dans le doute je voulait être sur du chemin d'accès

    ce code est le résulta d'une recherche, qui forcement ne donne pas toujours des bon résulta si les information trouvée ne son pas approprier.
    Si la doc était un peux plus explicite sa éviterai ce problème, mai la n'est pas le sujet. (quoi que...)


    Si tu as lu mon post il s'agis bien de code block.

    bon c'est parti pour remanier le tout ....

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut
    La nouvelle mouture... même problème

    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
     
    #include <iostream>
    #include <stdio.h>
     
    #include <ssl.h>
    #include <evp.h>
    #include <opensslv.h>
     
    int main()
    {
        SSL_library_init();
        OpenSSL_add_all_algorithms();
        EVP_cleanup();
        std::cout << "Hello world!" << std::endl;
        return 0;
    }
    donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    -------------- Build: Debug in testopenssl (compiler: GNU GCC Compiler)---------------
     
    mingw32-g++.exe -Wall -fexceptions -g -std=c++1z -IC:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\include -IC:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include -IC:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\include\openssl -c C:\Users\Xerox\Documents\Devcpp\testopenssl\testopenssl\main.cpp -o obj\Debug\main.o
    mingw32-g++.exe -LC:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib -LC:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib -o bin\Debug\testopenssl.exe obj\Debug\main.o  -lmingw32 -lSDL2main -lSDL2 -lssl -lcrypto  C:\CodeBlocks\MinGW\lib\libmingw32.a C:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib\libSDL2main.a C:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib\libSDL2.a C:\CodeBlocks\SDL2-2.0.9\i686-w64-mingw32\lib\libSDL2.dll.a C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib\libssl.a C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win64-mingw\lib\libcrypto.a
    obj\Debug\main.o: In function `main':
    C:/Users/Xerox/Documents/Devcpp/testopenssl/testopenssl/main.cpp:10: undefined reference to `OPENSSL_init_ssl'
    C:/Users/Xerox/Documents/Devcpp/testopenssl/testopenssl/main.cpp:11: undefined reference to `OPENSSL_init_crypto'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    3 error(s), 0 warning(s) (0 minute(s), 0 second(s))
    Merci pour votre patience

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    C'est un problème de linker, pas de code.
    Il faut lui dire quels libs il faut linker. Et on ne peut pas deviner lesquelles tu espères faire fonctionner... si tenté que tu en utilises déjà.
    Tu as toutes les options possibles sur le site officiel https://wiki.openssl.org/index.php/Binaries
    Et tu as même un github https://github.com/openssl/openssl
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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