Comment compilez-vous OpenSSL pour x64?
Après avoir suivi les instructions de la section INSTALLATION.W64, j'ai deux problèmes:
- Le code est toujours écrit à la "out32" le dossier. J'ai besoin d'être en mesure de relier à la fois 32 bits et les versions 64 bits de la bibliothèque sur mon poste de travail, donc je ne veux pas les versions 64 bits pour les fringues, les 32 bits de libs.
- La sortie est toujours de 32 bits! Cela signifie que je reçois "symbole externe non résolu" des erreurs lorsque vous essayez de lier les bibliothèques d'un x64 app.
source d'informationauteur kgriffs | 2008-10-01
Vous devez vous connecter pour publier un commentaire.
Pour compiler les bibliothèques statiques (les deux release et debug), c'est ce que vous devez faire:
perl Configurer VC-WIN64A pas partagé idée de non -
J'ai résolu le problème de cette façon, à l'aide de la version 1.0.1 c source:
Ajouter ce bloc à
util/pl/VC-32.pl
juste avant la$o='\\';
ligne.Ajouter ce bloc à
util/pl/VC-32.pl
juste avant laif ($debug)
ligne.Puis construire toutes les variétés:
Utilisation Conan. Il est très simple à installer et à utiliser.
Vous pouvez demander les fichiers prêt à l'emploi. Par exemple pour Linux x64 ou l'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 compiler="gcc" -s compiler.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 pourriez être surpris: le 64 bits artefacts sont en effet de sortie dans le out32* les sous-répertoires et portent des noms se terminant *32.dll. Fait est que le 64 bit cible de compilation est donc loin d'un changement progressif sur l'héritage windows 32 bits cible. De nombreux compiler les drapeaux sont encore étiqueté "32", bien que ceux-ci s'appliquent à la fois 32 et 64 bits cibles."
Donc la première réponse n'est plus nécessaire.
Instructions peuvent être trouvées ici:
https://wiki.openssl.org/index.php/Compilation_and_Installation#W64
Si vous êtes en train de construire dans cygwin, vous pouvez utiliser le script suivant, supposons MSDEVPATH a déjà été mis à votre Visual Studio dir
Vous pouvez également utiliser MSYS+mingw-w64:
1) télécharger et extraire msys pour C:\msys
2) télécharger et extraire mingw-w64 à c:\mingw64
3) exécuter msys script postinstall. Quand il vous demande votre mingw d'installation, pointez-C:\mingw64\bin
4) Extrait d'une openssl image quotidienne (1.0.0 version a un bug). Dans la source dir exécuter
configurer mingw64
faire
faire vérifier
faire installer
5) openssl est installé dans /local/