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
Version imprimable
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
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:
sous code block:Code:
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; }
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:
Le fichier est bien présent pragma aussi, je ne vois ou est le problème. un petit coup de main serai la bienvenue.Code:
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)) ===|
rappel windows 10 et code block
Merci d'avance
Je ne connais pas Code Blocks
Ceci dit vu l'erreur retournée je ne pense pas que ce soit le problème.Code:
1
2 #include <openssl/ssl.h> #include <openssl/evp.h>
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".
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:
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))
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 ?
Ces includes sont ridicules. On ne met jamais le path complet...
Tu utilises Dev-cpp ou C::B ??
Dev-cpp/C::B (mingw) utilisait des .a et non des .lib.
Enfin encore faudrait-il qu'il accepte cette syntaxe déjà mais...
Non il l'accepte pas. Et il te le dit depuis le début. Les messages d'erreur sont faits pour être lus. :weird:
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 .... :roll:
La nouvelle mouture... même problème
donne:Code:
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; }
Merci pour votre patience:)Code:
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))
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
On est d'accord que c'est un problème de linking mais la ligne de compilation avec le linking à l'air correcte.
ça donne l'impression que les fichiers headers ne sont pas en correspondance avec les librairies .a que tu as.
Une remarque quand même, l'erreur ligne 10 ne correspond pas directement aux fonctions que tu appelle mais à d'autres fonctions qui seraient appelées par les appels ligne 10 et 11.
Bon je cherche a comprendre ,
Les header il les trouves. car il entre dans le main.
Dans le cas opposer, il sarrêtera sure la ligne qui contiens #include <ssl.h> si il ne les trouves pas,
le linker devrai râler à ce moment la si le linker en rapport avec les include ne sont pas correct et ne pas aller plus loins.
j'ai juste ou pas ?
après j'ai choisi le pakage suivant:
https://bintray.com/vszakats/generic...in64-mingw.zip
sa viens peux être de la ?Citation:
ha256: 5d66465f6e5d4a4f324f9d8c3eaa4832190c4cfb696f682d7b13f899a0e5f858
j'ai essaye une autre manière de faire.
j'ai supprimer la configuration précedante.
Ensuite. dans le menu Setting --> compilateur --> Search directories : compiler
j'ai ajouter
Code:C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win32-mingw\include\openssl
quand je compile il m'ouvre le fichier ssl.h
et s'arrete sur la ligne
# include <openssl/e_os2.h>
le message de la console
Le truc bizard c'est qu'il mouvre le fichier pour me dire qu'il ne trouve pas le reste. :weird:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 -------------- Clean: Debug in testopenssl (compiler: GNU GCC Compiler)--------------- Cleaned "testopenssl - Debug" -------------- 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-win32-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 -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 In file included from C:\Users\Xerox\Documents\Devcpp\testopenssl\testopenssl\main.cpp:4:0: C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win32-mingw\include\openssl/ssl.h:15:28: fatal error: openssl/e_os2.h: No such file or directory compilation terminated. Process terminated with status 1 (0 minute(s), 0 second(s)) 1 error(s), 0 warning(s) (0 minute(s), 0 second(s))
plus claire je peux pas faire.Code:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112 Répertoire de C:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win32-mingw\include\openssl 30.06.2019 02:16 <DIR> . 30.06.2019 02:16 <DIR> .. 28.05.2019 13:12 3*349 aes.h 28.05.2019 13:12 3*508 applink.c 28.05.2019 13:12 33*627 asn1.h 28.05.2019 13:12 14*531 asn1err.h 28.05.2019 13:12 32*940 asn1t.h 28.05.2019 13:12 395 asn1_mac.h 28.05.2019 13:12 2*398 async.h 28.05.2019 13:12 1*258 asyncerr.h 28.05.2019 13:12 34*931 bio.h 28.05.2019 13:12 6*332 bioerr.h 28.05.2019 13:12 1*847 blowfish.h 28.05.2019 13:12 22*135 bn.h 28.05.2019 13:12 4*839 bnerr.h 28.05.2019 13:12 1*600 buffer.h 28.05.2019 13:12 752 buffererr.h 28.05.2019 13:12 3*179 camellia.h 28.05.2019 13:12 1*674 cast.h 28.05.2019 13:12 1*064 cmac.h 28.05.2019 13:12 16*412 cms.h 28.05.2019 13:12 10*966 cmserr.h 28.05.2019 13:12 1*328 comp.h 28.05.2019 13:12 1*144 comperr.h 28.05.2019 13:12 5*601 conf.h 28.05.2019 13:12 3*361 conferr.h 28.05.2019 13:12 1*300 conf_api.h 28.05.2019 13:12 17*239 crypto.h 28.05.2019 13:12 2*226 cryptoerr.h 28.05.2019 13:12 15*990 ct.h 28.05.2019 13:12 3*402 cterr.h 28.05.2019 13:12 7*627 des.h 28.05.2019 13:12 13*403 dh.h 28.05.2019 13:12 3*906 dherr.h 28.05.2019 13:12 9*640 dsa.h 28.05.2019 13:12 2*841 dsaerr.h 28.05.2019 13:12 1*623 dtls1.h 28.05.2019 13:12 924 ebcdic.h 28.05.2019 13:12 63*561 ec.h 28.05.2019 13:12 358 ecdh.h 28.05.2019 13:12 358 ecdsa.h 28.05.2019 13:12 15*690 ecerr.h 28.05.2019 13:12 34*661 engine.h 28.05.2019 13:12 5*379 engineerr.h 28.05.2019 13:12 11*269 err.h 28.05.2019 13:12 74*935 evp.h 28.05.2019 13:12 10*925 evperr.h 28.05.2019 13:12 8*888 e_os2.h 28.05.2019 13:12 1*591 hmac.h 28.05.2019 13:12 2*099 idea.h 28.05.2019 13:12 4*326 kdf.h 28.05.2019 13:12 2*054 kdferr.h 28.05.2019 13:12 9*227 lhash.h 28.05.2019 13:12 1*054 md2.h 28.05.2019 13:12 1*322 md4.h 28.05.2019 13:12 1*320 md5.h 28.05.2019 13:12 1*053 mdc2.h 28.05.2019 13:12 10*478 modes.h 28.05.2019 13:12 6*633 objects.h 28.05.2019 13:12 1*248 objectserr.h 28.05.2019 13:12 217*526 obj_mac.h 28.05.2019 13:12 15*304 ocsp.h 28.05.2019 13:12 3*288 ocsperr.h 28.05.2019 13:12 4*814 opensslconf.h 28.05.2019 13:12 4*102 opensslv.h 28.05.2019 13:12 6*217 ossl_typ.h 28.05.2019 13:12 15*468 pem.h 28.05.2019 13:12 415 pem2.h 28.05.2019 13:12 5*030 pemerr.h 28.05.2019 13:12 9*871 pkcs12.h 28.05.2019 13:12 3*681 pkcs12err.h 28.05.2019 13:12 11*590 pkcs7.h 28.05.2019 13:12 5*042 pkcs7err.h 28.05.2019 13:12 2*213 rand.h 28.05.2019 13:12 4*415 randerr.h 28.05.2019 13:12 4*763 rand_drbg.h 28.05.2019 13:12 1*534 rc2.h 28.05.2019 13:12 825 rc4.h 28.05.2019 13:12 1*988 rc5.h 28.05.2019 13:12 1*243 ripemd.h 28.05.2019 13:12 22*168 rsa.h 28.05.2019 13:12 8*945 rsaerr.h 28.05.2019 13:12 8*139 safestack.h 28.05.2019 13:12 3*479 seed.h 28.05.2019 13:12 3*831 sha.h 28.05.2019 13:12 3*827 srp.h 28.05.2019 13:12 1*316 srtp.h 28.05.2019 13:12 111*295 ssl.h 28.05.2019 13:12 542 ssl2.h 28.05.2019 13:12 14*576 ssl3.h 28.05.2019 13:12 46*546 sslerr.h 28.05.2019 13:12 3*095 stack.h 28.05.2019 13:12 11*197 store.h 28.05.2019 13:12 4*331 storeerr.h 28.05.2019 13:12 1*311 symhacks.h 28.05.2019 13:12 72*490 tls1.h 28.05.2019 13:12 22*429 ts.h 28.05.2019 13:12 6*678 tserr.h 28.05.2019 13:12 1*666 txt_db.h 28.05.2019 13:12 16*052 ui.h 28.05.2019 13:12 2*669 uierr.h 28.05.2019 13:12 1*377 whrlpool.h 28.05.2019 13:12 43*123 x509.h 28.05.2019 13:12 6*647 x509err.h 28.05.2019 13:12 33*262 x509v3.h 28.05.2019 13:12 8*709 x509v3err.h 28.05.2019 13:12 32*179 x509_vfy.h 105 fichier(s) 1*368*929 octets 2 Rép(s) 392*416*612*352 octets libres
Merci pour votre patience et de m'avoirs lus
Et si tu lisais les messages d'erreur ?
Il trouve pas un fichier.Citation:
fatal error: openssl/e_os2.h: No such file or directory
Donc soit ton installation est daubée, soit tu sais pas ajouter correctement une lib à un projet et il faudrait (re)voir les bases/un cours.
:cristal:
J'avais compris qu'il ne trouve pas le fichier... un cour ouai ok.... c' est pas dans mes moyens et je ne vois plus l'interet d'un forum.
Dans les livres que j'ai aucun ne parle de configuration d'un ide.
La doc.
Tant du coter de code block que du site officiel de openssl il n'y a rien. c'est pas mieux.
A croire que personnes à configurer CB pour cette librarie et ce type de problème est courant sur le web c'est parfaitement normal apparemment....
ce qui est curieux, c' est que rien n'est fait pour apporter une explication valable.
Quand a l'installation qui est daubée ce n' est pas un argument constructif... et c est pas mieux pour la boule de cristal.
parce que écrire que le fichier est pas trouver franchement c'est pas compliquer.
j'ai fait un dir on y voir la liste des fichier et les 2 sont présent dans le même répertoire. Alors qui ne c' est pas lire présentement ?
il y avais même la clef sha256sum alors si c est dauber faudrait que tu m'explique ou ?
C'est pas moins constructif que ce que tu racontes. Tu es loin d'être lisible dans ce que tu écris, fais un effort si tu veux de l'aide merci...
Les cours gratuits sur internet se comptent par centaines voire milliers, je vois pas où un quelconque budget est nécessaire ici ? Tu as un ordinateur ? Internet ? Bravo, tu as accès à des milliers de sources, documents, documentations et exemples à l'aide d'un simple moteur de recherche.
À commencer par sur ce forum-même, juste au-dessus en levant la tête et scrollant la page.. https://cpp.developpez.com/cours/
Il existe plusieurs IDE et chacun se configure à sa manière, aucun intérêt pour un livre non spécifique à un IDE de couvrir 1 IDE ou de se perdre en explications pour les couvrir tous.Citation:
Dans les livres que j'ai aucun ne parle de configuration d'un ide.
Surtout quand la configuration se limite à savoir lire et cliquer sur les différents boutons de configurations et options dans les menus.
Installer une lib est un truc basique, chaque lib ou IDE ne vas pas réexpliquer comment le faire. :weird:Citation:
Tant du coter de code block que du site officiel de openssl il n'y a rien.
Une lib ne s'utilise pas par magie.Citation:
j'ai fait un dir on y voir la liste des fichier et les 2 sont présent dans le même répertoire. Alors qui ne c' est pas lire présentement ?
Pour utiliser une lib il faut configurer l'include path (ou plusieurs).
Il te dit qu'il trouve pas openssl/e_os2.h et toi tu lui fournis -IC:\Users\Xerox\Documents\Devcpp\openssl-1.1.1c-win32-mingw\include\openssl... et bien c'est raté parce qu'il faut mettre include et non include/openssl. Un minimum de logique permet d'arriver à cette conclusion : il trouve pas openssl/e_os2.h :weird:
Donc tu veux toujours parler de lecture ? Lis les messages d'erreur en essayant de les comprendre pour les corriger et non juste pour les recopier ici pour qu'on te mâche se travail.
Puis il faut configurer le link path pour trouver la lib si elle est déjà compilée (et dans ce cas il faut qu'elle le soit pour la version exacte du compilo utilisée), ou même si tu la compiles toi-même et ranges tes dossiers - ou tu peux laisser faire l'IDE bien souvent mais ça va vite devenir le bordel.. et tu ne maîtriseras rien de plus puisque tu ne sais pas où se trouvent tes fichiers, et ne sais pas configurer leur utilisation.
Certe je reconnais que je m'exprime et écris pas dans un langage approprier, je peux cependant te garantir que c' est pas sans motif valable, cette raison ne peux être donne que en priver et a un modérateur sure demande. merci d'êtreCitation:
C'est pas moins constructif que ce que tu racontes. Tu es loin d'être lisible dans ce que tu écris, fais un effort si tu veux de l'aide merci...
Les cours gratuits sur internet se comptent par centaines voire milliers, je vois pas où un quelconque budget est nécessaire ici ? Tu as un ordinateur ? Internet ? Bravo, tu as accès à des milliers de sources, documents, documentations et exemples à l'aide d'un simple moteur de recherche.
À commencer par sur ce forum-même, juste au-dessus en levant la tête et scrollant la page.. https://cpp.developpez.com/cours/
indulgent je sais que c est pas toujours agréable de me lire.
la recherche est pas quelque chose que je néglige non plus, si après avoir lu 2 livre et pas mal de site web la réponse est négative c'est qu'un poste pour débutant me semble approprier. personne n'est a l'abris de ne pas avoir chercher aux bon endroit.
Je ne cherche pas a ce que l'on me mâche le travaille, mai un exemple différent est quand même utile, tes propos sont peux approprier pour un poste aux niveau débutant, je pense que ceci devrai être régler en priver. le reste apporte la solution et je t'en remercie j'espère que cela pourra aider d'autre personne je le passe en résolut
Merci encore