需要开发一个https的服务,使用libhv来做,需要重新编译libhv,需要开启 WITH_OPENSSL,前面编译一直很顺利,但是打开VS生成动态库的时候,报错,找不到ssl相关的文件,看了官方的文档,说需要自己配置ssl。然后研究怎么编译OPENSSL,和编译支持HTTPS的libhv花了一点时间,所以想着把这个问题记录下来。
相关链接:
网络库libhv,gitee:https://gitee.com/libhv/libhv
openssl官网:https://www.openssl.org/
openssl下载地址(别人编译好的):https://slproweb.com/products/Win32OpenSSL.html
编译的测试Demo,包含编译好的X86版本的动态库:https://wwk.lanzoul.com/iuaec1ukiani
一、下载OPENSSL
openssl官网现在不提供编译好的动态库了,只提供源码,需要自己编译。如果从openssl官网下载源码自己编译,会很麻烦,还需要安装 perl 和 nasm。
所以我用的别人编译好的,网址:https://slproweb.com/products/Win32OpenSSL.html
如果你是32位,就下载32位的,如果你是64位,就下载64位的,下载这个大的就可以了。
下载完成后,按照提示一步一步点击鼠标就可以了,需要注意的是:选择二进制文件安装,这个才是我们需要的。
二、把OPENSSL相关文件放到libhv文件夹
-
在libhv的根目录,创建文件夹 3rd
-
把 OPENSSL 的 include 文件夹和 lib 文件夹 放到 3rd 文件夹
-
需要注意的是需要修改 openssl lib 文件的名称,把【libcrypto.lib,libssl.lib】 -》 改为【crypto.lib,ssl.lib】
三、编译libhv
剩下的就很简单了,按照官方的文档:https://hewei.blog.csdn.net/article/details/113704737, 进行编译就可以了
打开 cmake,勾选上 WITH_OPENSSL,然后一步一步的走下去,然后就编译成功了。
四、测试libhv,HTTPS
新建一个项目,然后写了一个简单的Demo(HTTPS服务和HTML),没问题,运行很好。
测试Demo下载地址(包含编译好的动态库X86):https://wwk.lanzoul.com/iuaec1ukiani