需要開發一個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資料夾
1. 在libhv的根目錄,建立資料夾 3rd
2. 把 OPENSSL 的 include 資料夾和 lib 資料夾 放到 3rd 資料夾
3. 需要注意的是需要修改 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