如何在Visual Studio中使用OpenSSL

我试图将用C编写的控制台应用程序移植到Visual Studio 2010.在Linux / Mac上,应用程序运行良好,包括OpenSSL支持。

任何人都可以提供帮助在Visual Studio项目中使用/链接OpenSSL库吗?

谢谢!

我知道这是旧的! 我自己面对这个问题,这是解决方案。

首先,你应该安装(普通的普通安装)openssl。 (从这里 )。

现在,在创建一个项目之后,我引用:

确保在项目属性页面中设置了以下设置:

[C / C ++ – >常规 – >其他包含目录]值:OpenSSL的include目录在您的机器(例如C:\ openssl \ include)

[链接器 – >常规 – >其他库目录] value:OpenSSL的lib目录(例如C:\ openssl \ lib)

[链接器 – >输入 – >附加依赖项]值:libeay32.lib

来源 。

以下是一些资源: 编译和安装OpenSSL for Windows ,以及使用OpenSSL for Cryptography(Blowfish,DES,RC2,RC4)

我自己尝试过,但我仍然得到错误。 OpenSSL和Visual Studio不是我的专长,但也许你可以弄明白。

那么,这已经是一年多了,但是我找不到答案,所以我强化了自己的方式。 我得到了openssl-1.0.1e使用VS 11编译:

我尝试使用Git的PERL,没有工作,只好安装ActivePerl

采取从Nitesh提供的链接 :

 perl Configure VC-WIN64A no-asm 

其次是:

 ms\do_win64a 

通过这篇文章 ,我编辑了ms \ ntdll.mak并将CC改为:

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

最后:

 nmake -f ms\ntdll.mak 

我没有打扰安装,只是将目录openssl-1.0.1e \ out32dll添加到配置属性 – >链接器 – >其他库目录,并将openssl-1.0.1e \ inc32添加到配置属性 – > C / C ++ – > C / C ++ – >常规 – >其他包含目录,将libeay32.dll复制到我的路径中的某处,并称它为好。 似乎正在工作。

添加openssl相关的头文件和下面的头文件。

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

打开下面的链接并下载预编译的文件。

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

extarct并保留在C盘的文件夹使用readme_precompile.txt的说明。

打开Visual C ++项目和后续步骤,以包含和链接器选项。

确保在项目属性页面中设置了以下设置:[C / C ++ – >常规 – >附加包含目录]值:OpenSSL的包含目录在您的机器中(例如C:\ openssl \ include)或(例如C:\ openssl \链接器 – >输入 – >附加依赖关系]值:

  ws2_32.lib libsslMT.lib Crypt32.lib libcryptoMT.lib