Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1496 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Libraire OpenSSL - Problème d'utilisation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Libraire OpenSSL - Problème d'utilisation

n°845737
EagleOne33
Posté le 09-09-2004 à 11:04:27  profilanswer
 

Bonjour tout le monde,
 
J'ai installé la librairie OpenSSL (www.openssl.org) afin de pouvoir l'utiliser dans mon programme en C.
 
J'ai donc mon programme monprog.cpp et dans le même répertoire, on retrouve la librairie installée dans le répertoire OpenSSL.
 
J'ai fait un programme de test pour utiliser cette librairie dont voici le code :  

Code :
  1. #include <stdio.h>
  2. #include <OpenSSL\include\openssl\ssl.h>
  3. #include <OpenSSL\include\openssl\evp.h>
  4. int main (int argc,char **argv)
  5. {
  6. SSL_library_init();
  7. OpenSSL_add_all_algorithms();
  8. EVP_cleanup();
  9. return 0;
  10. }


 
Seulement je récupère l'erreur  

Code :
  1. d:\dossiers\projet\librairie ssl\monprogramme.cpp(2) : fatal error C1083: Cannot open include file: 'OpenSSL\include\openssl\ssl.h': No such file or directory
  2. Error executing cl.exe.


 
Alors que le fichier existe bien... Est-ce que quelqu'un pourrait m'aider?

mood
Publicité
Posté le 09-09-2004 à 11:04:27  profilanswer
 

n°845748
SoWhatIn22
Posté le 09-09-2004 à 11:15:50  profilanswer
 

donnes le chemin du répertoire dans lequel se trouve le répertoire OpenSSL au compilateur. (gcc -> option -I).
Si c'est dans le réprtoire courrant, remplace les '<' et '>' des include par des '"'
 
Si le compilateur te dis qu'il ne trouve pas un fichier, c'est soit qu'il n'existe pas, soit que tu ne lui dit pas corrctement où chercher. Le compilo a [presque] toujours raison.


Message édité par SoWhatIn22 le 09-09-2004 à 11:17:36
n°845765
EagleOne33
Posté le 09-09-2004 à 11:26:04  profilanswer
 

Alors j'ai remplacé comme tu m'as dit les '<' et '>' par des "" et il a l'air de trouver le fichier qu'il ne trouvait pas. Par contre il ne trouve pas un include qui se trouve dans le fichier de la librairie. Pourtant encore une fois, non seulement ce fichier existe mais l'erreur se trouve dans un des fichiers de la librairie, fichier auquel je ne devrais pas avoir à toucher...  
 
Le code :  

Code :
  1. #include <stdio.h>
  2. #include "OpenSSL\include\openssl\ssl.h"
  3. #include "OpenSSL\include\openssl\evp.h"
  4. int main (int argc,char **argv)
  5. {
  6. SSL_library_init();
  7. OpenSSL_add_all_algorithms();
  8. EVP_cleanup();
  9. return 0;
  10. }


 
L'erreur :  
d:\dossiers\projet\librairie ssl\openssl\include\openssl\ssl.h(168) : fatal error C1083: Cannot open include file: 'openssl/e_os2.h': No such file or directory
Error executing cl.exe.

 
Et le bout de code qui pose problème dans ssl.h :

Code :
  1. #include <openssl/e_os2.h>


 
 
Pour ce qui est du gcc avec l'option -I, je ne peux pas m'en servir car je suis sur VisualC++ pour windows... :/
 
Comment faire ?

n°845771
blackgodde​ss
vive le troll !
Posté le 09-09-2004 à 11:29:38  profilanswer
 

sur vs.net :
 
outils => options => dossier projets => repertoire de vc++, dans les fichiers includes tu rajoute
d:\dossiers\projet\librairie ssl\openssl\include\


---------------
-( BlackGoddess )-
n°845783
SoWhatIn22
Posté le 09-09-2004 à 11:37:59  profilanswer
 

EagleOne33 a écrit :

Pourtant encore une fois, non seulement ce fichier existe mais l'erreur se trouve dans un des fichiers de la librairie, fichier auquel je ne devrais pas avoir à toucher...  
 
Pour ce qui est du gcc avec l'option -I, je ne peux pas m'en servir car je suis sur VisualC++ pour windows... :/
 
Comment faire ?


 
T'as rien compris aux déclarations des chemins...
dans ton projet, il faut que tu ajoutes les chemins:
 - repertoire dans lequel se trouce OpenSSL. dans le cas présent, c'est "." puisque c'est le répértoire courant.
  - répertoire dans lequel se trouvent les fichiers utilisés par OpenSSL ; ici: ".\OpenSSL\include"
 
si tu ne déclares pas ça, le compilo ne pourra pas le faire à ta place. Doit bien yavoir un document d'aide fournit avec visual, quand même. Au prix que ça coûte, c'est la moindre des choses.

n°845787
EagleOne33
Posté le 09-09-2004 à 11:42:45  profilanswer
 

Oki merci beaucoup. J'ai réussi. Là il y a d'autres erreurs de Link mais j'essaye de me débrouiller.
 
Merci encore ^^

n°845803
EagleOne33
Posté le 09-09-2004 à 11:59:19  profilanswer
 

Bon j'y arrive pas   :??:  :??:  
J'ai récupéré un code tout simple afin de tester et pourtant rien ne marche.  
 
Voilà le code :

Code :
  1. #include <stdio.h>
  2. #include <openssl\ssl.h>
  3. #include <openssl\evp.h>
  4. int main (int argc,char **argv)
  5. {
  6. SSL_library_init();
  7. OpenSSL_add_all_algorithms();
  8. EVP_cleanup();
  9. return 0;
  10. }


 
Ca compile mais y'a des problèmes au linking. Voici ce qu'il me dit :  
Compiling...
monprogramme.cpp
Linking...
monprogramme.obj : error LNK2001: unresolved external symbol _EVP_cleanup
monprogramme.obj : error LNK2001: unresolved external symbol _OPENSSL_add_all_algorithms_noconf
monprogramme.obj : error LNK2001: unresolved external symbol _SSL_library_init
Debug/monprogramme.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

 
Please  H.E.L.P.

n°845866
Jayl
Posté le 09-09-2004 à 12:58:08  profilanswer
 

Il faut que tu ajoute la lib OpenSSL au projet. Au passage il serait bien d'apprendre comment fonctionne le couple compilateur-linker, histoire de comprendre pourquoi tu as ces messages d'erreurs.

n°845898
EagleOne33
Posté le 09-09-2004 à 13:39:01  profilanswer
 

Bein ouai mais je croyais justement l'avoir ajouté la lib au projet en faisant ce que m'a dit BlackGoddess un peu plus haut...
 
EDIT :  
 
Alors j'ai ajouté la librairie OpenSSL à mon projet mais j'ai exactement les même erreur au linkage... :/
 
help


Message édité par EagleOne33 le 09-09-2004 à 13:43:32
n°845953
EagleOne33
Posté le 09-09-2004 à 14:32:10  profilanswer
 

Alors j'ai réussi à trouver la solution. Dites moi ce que vous en pensez....
 
Alors pour résoudre mon problème de départ, 3 choses :  
- Inclure les include dans le projet (Dans VC++, Outils, Options, Dossiers, Include, mettre mon répertoire d'includes .h ...)
- Inclure la librairie au projet (Pareil que précédemment mais dans DOssiers, choisir Librairie et y mettre le répertoire contenant les .lib)
- Enfin ce que je n'avais pas fait, définir les librairies dont on a besoin avec le code :  

Code :
  1. #pragma comment (lib, "libeay32.lib" )
  2. #pragma comment (lib, "ssleay32.lib" )


 
 
Vala.... Si ca peut aider quelqu'un  
(et non me tapez pas dessus, je suis pas super fort en c++ donc bon)

mood
Publicité
Posté le 09-09-2004 à 14:32:10  profilanswer
 

n°846124
Jayl
Posté le 09-09-2004 à 16:14:48  profilanswer
 

L'autre solution est d'ajouter les libs au projet, c-à-d comme tu ajouterai un fichier cpp. Et là plus besoin de rajouter des #pragma VC spécifiques. Essaye, cela marche aussi.

n°846137
kadreg
profil: Utilisateur
Posté le 09-09-2004 à 16:22:23  profilanswer
 

PUTAIN MAIS MLET DES / DANS LES INCLUDE BORDEL DE CUL A PINE


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°846173
EagleOne33
Posté le 09-09-2004 à 16:58:35  profilanswer
 

ok Jayl je vais essayer
 
Kradeg apprends à parler et après on verra... :/

n°846221
oliv5
Pourquoi ? Parce que !
Posté le 09-09-2004 à 17:43:55  profilanswer
 

En termes plus corrects, kadreg te dit qu'il est bien mieux de remplacer les \ dans tes includes par des / meme si tu es sous windows (ce sera pareil). Pour des pb de portabilités.

n°846704
EagleOne33
Posté le 10-09-2004 à 10:29:05  profilanswer
 

oki d'accord je le ferai. Merci beaucoup :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Libraire OpenSSL - Problème d'utilisation

 

Sujets relatifs
Juste un tout petit probleme avec GDaccess excel problème de caractères retour à la ligne, etc...
[Résolu - ADO] Problème de connexion à un serveur OLAPProblème d'apostrophes
[Java] Problème de layout.... taille des panels,...Problème d'utilisation des ressources avec l'editeur de VC++.NET :'(
Problème pour utiliser une policeprobleme popup plus target
Plus de sujets relatifs à : Libraire OpenSSL - Problème d'utilisation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR