Après avoir suivi les instructions dans INSTALL.W64, j’ai deux problèmes:
Pour comstackr les bibliothèques statiques (à la fois la version et le débogage), voici ce que vous devez faire:
# Le répertoire de sortie pour tout ce qui est intéressant OUT_D = out64.dbg # Le répertoire de sortie pour tous les muck temporaires TMP_D = tmp64.dbg # Le répertoire de sortie des fichiers d'en-tête INC_D = inc64 INCO_D = inc64 \ openssl
J’ai résolu le problème de cette façon, en utilisant la source 1.0.1c:
Ajoutez ce bloc à util/pl/VC-32.pl
, juste avant le $o='\\';
ligne.
if ($debug) { $ssl .= 'd'; $crypto .= 'd'; }
Ajoutez ce bloc à util/pl/VC-32.pl
, juste avant la ligne if ($debug)
.
if ($FLAVOR =~ /WIN64/) { $out_def =~ s/32/64/; $tmp_def =~ s/32/64/; $inc_def =~ s/32/64/; }
Ensuite, construisez toutes les variétés:
setenv /x86 /release perl Configure VC-WIN32 --prefix=build -DUNICODE -D_UNICODE ms\do_ms nmake -f ms\ntdll.mak setenv /x64 /release perl Configure VC-WIN64A --prefix=build ms\do_win64a.bat nmake -f ms\ntdll.mak setenv /x86 /debug perl Configure debug-VC-WIN32 --prefix=build -DUNICODE -D_UNICODE ms\do_ms move /y ms\libeay32.def ms\libeay32d.def move /y ms\ssleay32.def ms\ssleay32d.def nmake -f ms\ntdll.mak setenv /x64 /debug perl Configure debug-VC-WIN64A --prefix=build ms\do_win64a.bat move /y ms\libeay32.def ms\libeay32d.def move /y ms\ssleay32.def ms\ssleay32d.def nmake -f ms\ntdll.mak
Utilisez Conan . Il est très simple à installer et à utiliser.
Vous pouvez demander les fichiers prêts à l’emploi. Par exemple pour Linux x64 ou utilisation avec Visual Studio 2012. Voici un exemple d’instruction:
conan install OpenSSL/1.0.2g@lasote/stable -s arch="x86_64" -s build_type="Debug" -s comstackr="gcc" -s comstackr.version="5.3" -s os="Linux" -o 386="False" -o no_asm="False" -o no_rsa="False" -o no_cast="False" -o no_hmac="False" -o no_sse2="False" -o no_zlib="False" ...
Selon la documentation officielle:
“Vous serez peut-être surpris: les artefacts 64 bits sont effectivement générés dans les sous-répertoires out32 * et portent les noms se terminant par * 32.dll. Fait est que la cible de compilation 64 bits est jusqu’à présent un changement incrémentiel par rapport à la cible Windows 32 bits existante. les drapeaux sont toujours étiquetés “32” bien que ceux-ci s’appliquent aux cibles 32 et 64 bits. ”
Donc, la première réponse n’est plus nécessaire.
Les instructions peuvent être trouvées ici:
https://wiki.openssl.org/index.php/Compilation_and_Installation#W64
Si vous construisez dans cygwin, vous pouvez utiliser le script suivant, supposez que MSDEVPATH a déjà été défini sur votre répertoire Visual Studio
echo "Building x64 OpenSSL" # save the path of the x86 msdev MSDEVPATH_x86=$MSDEVPATH # and set a new var with x64 one MSDEVPATH_x64=`cygpath -u $MSDEVPATH/bin/x86_amd64` # now set vars with the several lib path for x64 in windows mode LIBPATH_AMD64=`cygpath -w $MSDEVPATH_x86/lib/amd64` LIBPATH_PLATFORM_x64=`cygpath -w $MSDEVPATH_x86/PlatformSDK/lib/x64` # and set the LIB env var that link looks at export LIB="$LIBPATH_AMD64;$LIBPATH_PLATFORM_x64" # the new path for nmake to look for cl, x64 at the start to override any other msdev that was set previously export PATH=$MSDEVPATH_x64:$PATH ./Configure VC-WIN64A zlib-dynamic --prefix=$OUT --with-zlib-include=zlib-$ZLIB_VERSION/include --with-zlib-lib=zlib-$ZLIB_VERSION/x64_lib # do the deed ms/do_win64a.bat $MSDEVPATH_x86/bin/nmake -f ms/ntdll.mak ${1:-install}
Vous pouvez également utiliser MSYS + mingw-w64 :
1) télécharger et extraire msys vers C: \ msys
2) télécharger et extraire mingw-w64 vers c: \ mingw64
3) exécutez le script de post-installation msys. Lorsqu’il demande votre installation mingw, pointez-le sur C: \ mingw64 \ bin
4) Extraire un instantané openssl quotidien (la version 1.0.0 a un bogue). Dans le répertoire source exécutez configure mingw64
faire
faire vérifier
faire installer
5) openssl est installé sur / local /