因为一门助教的关系,需要在VS中配置Openssl,以便在程序中可以直接调用其中的库。
首先,自然是问度娘,如何配置......
Happy得到many Pages...步骤非常简单,结果还是遇到很多问题,最终,一个半小时过去了,总算passwd all tests,安装成功却 无法正常调用openssl下的各个加密头文件。所以还是采用在VS中附加库的通用方法。步骤如下,亲证可用。
我的环境是:
Sys:WIN7 64bit
VS:2010 x86
在VS中导入附加库的通用方法。
1、下载OpenSSL
官方网站上下载,将其安装或解压在电脑某个路径下。
官方网址:http://www.openssl.org/source/
2、打开VS2010
新建一个项目,这里是常用的win32控制台应用程序。输入工程名,进行简单的默认的应用程序向导一直next。
新建项,添加.cpp或.h文件(空项目无法进行下面的设置)。
当项目中包含cpp或h文件之后,在解决方案资源管理器窗口(我的在整个界面的右侧),右键打开项目属性。
在属性设置页面中,选择C/C++菜单下的常规,在右侧“附加包含目录”添加OpenSSL include文件夹路径,我的是C:\OpenSSL\include,该文件夹下包含openssl文件夹,里面是各个在SSL/TTL编程中需要用到的加密解密头文件。
接下来,选择 链接器 下的常规,在右侧“附加库目录”中,添加lib文件夹的路径。
然后,点击链接器下的“输入”。在右侧“附加依赖项”中输入几个必须的.lib文件(.lib文件的列表在下张图)
输入这四个.lib文件,它们位于OpenSSL路径的\lib\VC下(我的是C:\OpenSSL\lib\VC)
点击确定,回到属性设置界面,点击确定,关闭属性界面。回到主界面,右侧的“解决方案资源窗口”项目下的“外部依赖项”出现include下的.h,如下图:
至此,OpenSSL配置完成。
Testing---测试,编写一段SSL/TTL的加密代码,采用AES加密,调用openssl中的evp.h,如下
编译通过,不会报“找不到openssl\evp.h”的错误,编译通过得到AES密文
---列举一些错误--=
在配置中,对链接器的“输入”中的“附加依赖项”输入格式错误或者链接器的“常规”中对“附加依赖库”路径输入错误。如下:
解决这个错误,就是在编辑链接器下的“常规”和“输入”时,输入正确的.lib文件夹路径(%OpenSSL路径\lib\VC),输入正确的.lib格式,相邻的.lib用分号“;”隔开。