c++ - Cómo incluir openssl en Visual Studio Expres 2012 Windows 7 x64
visual-studio-2012 (2)
Usa Conan. Es muy simple de instalar y usar:
Puede solicitar los archivos listos para su uso. Por ejemplo, para Linux x64 o uso con Visual Studio 2012 ... Aquí una instrucción de muestra:
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" ...
Me está costando mucho intentar agregar openssl a mi proyecto. He descargado el instalador precompilado para Windows, y tengo las bibliotecas instaladas, pero no puedo encontrar una manera de incluir openssl en mi proyecto.
Supongamos que ha instalado OpenSSL en una carpeta como: C: / Program Files / Openssl-Win32-1.0.1p ..... (o cualquier otro nombre); Voy a referirme a eso como OPENSSL_INSTALL_DIR
(ya que era un env var). Por lo tanto, %OPENSSL_INSTALL_DIR%
debe contener un grupo de carpetas y archivos que no nos importan: Carpetas:
- incluir
- lib
Archivos:
- libeay32.dll
- ssleay32.dll (también puede copiarse a libssl32.dll )
Para poder utilizarlo en su proyecto de VC , debe:
Indique a su compilador dónde buscar los archivos incluidos. Para ello, vaya a Propiedades del proyecto -> C / C ++ -> General -> Directorios de inclusión adicionales y agregue
%OPENSSL_INSTALL_DIR%/include
(si necesita agregar otras rutas de acceso,%OPENSSL_INSTALL_DIR%/include
con un punto y coma (;
)). Ahora puede incluir en su código fuente archivos de encabezado openssl. Tenga en cuenta que debido a que%OPENSSL_INSTALL_DIR%/include
carpeta contiene una subcarpetaopenssl
y bajo esa subcarpeta son los archivos de encabezado reales sus cláusulasinclude
deberían tener este aspecto:#include "openssl/ssl.h"
Por supuesto, podría agregar la
%OPENSSL_INSTALL_DIR%/include/openssl
a su proyecto y, a continuación, la instrucción de inclusión anterior sería:#include "ssl.h"
pero la primera forma es la preferida.
Indique a su vinculador dónde buscar bibliotecas. Para ello, vaya a Propiedades del proyecto -> Enlazador -> General -> Directorios de biblioteca adicionales y agregue
%OPENSSL_INSTALL_DIR%/lib
(nuevamente, si hay varias rutas de acceso separadas por;
)Indique a su vinculador qué bibliotecas usar.
%OPENSSL_INSTALL_DIR%/lib
contiene un grupo de archivos .lib . De ellos, lo más probable es que solo necesiteslibeay32.lib
y / ossleay32.lib
. Vaya a Propiedades del proyecto -> Enlazador -> Entrada -> Dependencias adicionales y agregue esas 2 bibliotecas al lado de las existentes.
Ahora, si todas sus configuraciones y código fuente son correctos, debe tener un proyecto compilable. Ahora, cuando desee ejecutar la salida de su proyecto (ya sea un ejecutable o un archivo .dll necesario para otro ejecutable, no estoy discutiendo aquí la posibilidad de que esté utilizando las librerías estáticas ), puede que necesite copiar los 2 archivos .dll que Mencioné al principio en una de las carpetas de tu %PATH%
env var, o en la carpeta donde está ubicado tu ejecutable, o mejor simplemente %OPENSSL_INSTALL_DIR%
a tu %PATH%
; aunque si recuerdo correctamente, el instalador también los copia en su %SystemRoot%/system32
y en ese caso no tendrá que hacer este paso, pero eso es solo un aviso.
Nota importante : debe tener cuidado al dirigir su proyecto a 32 o 64 bits (configurar Platform to Win32 o x64 en VC ); eso tiene que coincidir con su arquitectura de instalación de OpenSSL .