2012-07-08 17 views
24

Estoy tratando de portar mi aplicación de consola escrita en C a Visual Studio 2010. En Linux/Mac, la aplicación funciona perfectamente, incluido el soporte OpenSSL.Cómo usar OpenSSL con Visual Studio

¿Puede cualquier persona proporcionar ayuda sobre el uso/OpenSSL que une las librerías en un proyecto de Visual Studio?

Gracias!

+3

¿Ha instalado Win32 OpenSSL? Si no, vaya aquí: http://slproweb.com/products/Win32OpenSSL.html –

+0

¿Cuál es la licencia que lleva? No estoy seguro si se puede incluir en un producto comercial ... cualquier idea puede ayudar – mSO

+1

¿Tiene OpenSSL Windows lib con usted? ¿Qué problema enfrenta exactamente cuando intenta vincularse con OpenSSL Libs? – Jay

Respuesta

3

Bueno, esto es más de un año de edad, pero no pude encontrar la respuesta, así que mi camino a través musculoso. Tengo OpenSSL-1.0.1e para compilar utilizando VS 11, como por ejemplo:

He intentado utilizar el Perl que viene con git, no funcionó, tuvo que instalar ActivePerl

tomada de la link proporcionada por Nitesh:

perl Configure VC-WIN64A no-asm 

seguido de:

ms\do_win64a 

por this post, he editado ms \ ntdll.mak y cambió a CC:

CC="c:\Program Files (x86)\Microsoft visual Studio 11.0\VC\bin\amd64\cl.exe" 

Entonces, finalmente:

nmake -f ms\ntdll.mak 

No me molesté en la instalación y acaba de agregar el directorio OpenSSL-1.0.1e \ out32dll a Propiedades de configuración -> Enlazador -> Directorios de biblioteca adicionales y openssl-1.0 .1e \ inc32 a Propiedades de configuración -> C/C++ -> C/C++ -> General -> Directorios de inclusión adicionales, copié libeay32.dll en algún lugar de mi camino y lo llamé bueno. Parece estar funcionando.

+1

Este es el enfoque "build openssl from source", si todo lo que quiere hacer es compilar en su contra, es mucho más fácil obtener los binarios. –

23

sé que es viejo! Enfrenté el problema yo mismo y aquí está la solución.

En primer lugar, se debería instalar (instalación normal y corriente) OpenSSL. (Es de here).

Ahora, después de crear un proyecto, cito:

que los siguientes ajustes se utilizan en la propiedad del proyecto páginas:

[C/C++ -> General -> Incluir adicional directorios] valor: OpenSSL de incluir directorio en su máquina (por ejemplo, C: \ openssl \ include)

[Enlazador -> general -> adicional Biblioteca directorios] valor: directorio lib de OpenSSL en su máquina (por ejemplo, C: \ o penssl \ lib)

[Linker -> Input -> Additional Dependencies] value: libeay32.lib

Source.

+0

Hola bromista, ¿puedes explicar el proceso de instalación? Ese enlace no tiene ningún exe para ejecutar. He clonado de github, pero ahora estoy atascado. – Noitidart

+1

@Noitidart, ¿qué SO estás usando? – joker

+0

Muchas gracias @joker por su respuesta. He estado luchando muy duro. Estoy en Win10, creé este tema explicando lo que hice y pidiendo ayuda - http://stackoverflow.com/q/41357374/1828637 – Noitidart

2

Agregue los archivos de encabezado relacionados con openssl y los encabezados siguientes.

#include<windows.h> 
#include<winsock2.h> 

abierto a continuación enlace de descarga & archivos pre-compilados.

http://www.npcglib.org/~stathis/blog/precompiled-openssl/

extarct y mantener carpeta en la unidad C uso readme_precompile.txt para obtener instrucciones.

Abra el proyecto de Visual C++ y siga el procedimiento que se detalla a continuación para incluir y opciones de Enlazador.

Asegúrese de que los siguientes ajustes se utilizan en las páginas de propiedades del proyecto: [C/C++ -> General -> Incluir adicional de directorios] valor: OpenSSL de include en su máquina (por ejemplo, C: \ openssl \ include) o (por ejemplo, C: \ openssl \ include64) [Enlazador -> General -> Directorios de biblioteca adicionales] valor: directorio lib de OpenSSL en su máquina (por ejemplo, C: \ openssl \ lib) o (por ej. C: \ openssl \ lib64) [Enlazador -> entrada -> dependencias adicionales] de valor:

 ws2_32.lib 
     libsslMT.lib 
     Crypt32.lib 
     libcryptoMT.lib 
Cuestiones relacionadas