Compiler OpenSLL sous windows en librairie statique ?

Compiler OpenSLL sous windows en librairie statique ? - C++ - Programmation

Marsh Posté le 06-06-2008 à 10:06:10    

Je voudrais compiler OpenSSL en tant que librairie static (lib) sous windows
Je voudrais faire ça de preference :
 
 * sous Visual, en construisant un projet et en compilant par les options, d'ou ma question :
quels fichiers importer ?
comment monter ce projet (j'en ai un sous la main, ils ont mis uniquement 2 repertoire : le ms et les includes) mais ca donne pas ce qu'il faut...
 
 * sous visual en ligne de commande, et dans le cas là, je connais la manipulation, mais ca donne des DLL... la configuration se fait via un fichier .mak d'ou ma question :
que modifier dans ce fichier mak pour obtenir des static plutot que des dll ?
(manip trouvee sur le net : http://jean.baptiste.favre.free.fr [...] ml#OpenSSL )
 
 * autrement... (je connais bien dev-c++ et les makefile)

Reply

Marsh Posté le 06-06-2008 à 10:06:10   

Reply

Marsh Posté le 06-06-2008 à 16:56:19    

Bon, j'ai fini par reussir, mais ce n'est pas fini... d'abord, je donne la solution...
La technique normale (decrite dans le lien que j'ai donné) consiste a faire ca :
"ms\do_ms"
"nmake -f ms\ntdll.mak" (cela lance la compilation proprement dite)
"nmake -f ms\nt.mak" (pour compiler la version statique de la librairie)
"cd out32dll"
"..\ms\test" (pour tester les binaires obtenus)
 
Oubliez la dll, et ajoutez une etape :
"ms\do_ms"
Editer le nt.mak, remplacer la directive /MD par /MDd <--- cela integrera les lib de debogue au lieu des release.
"nmake -f ms\nt.mak" (pour compiler la version statique de la librairie)
"cd out32dll"
"..\ms\test" (pour tester les binaires obtenus)
 
Main maintenant, j'ai un probleme, quand on tire openssl , ca tire aussi les MSVCRT (debog ou pas) .lib   et ca c'est super chiant, parce que ces lib entrent en conflit avec le reste de mon appli... comment s'en debarasser ?
 
(question optionnelle : de quelles lib peut on se passer pour faire des appli windows toutes betes si on utilise un autre fenetreur (wxwidget par exemple)  ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed