Windows系統編譯libhv帶SSL,開啟WITH_OPENSSL

十一的杂文录發表於2024-04-10

需要開發一個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】

Windows系統編譯libhv帶SSL,開啟WITH_OPENSSL

Windows系統編譯libhv帶SSL,開啟WITH_OPENSSL

三、編譯libhv

剩下的就很簡單了,按照官方的文件:https://hewei.blog.csdn.net/article/details/113704737, 進行編譯就可以了

開啟 cmake,勾選上 WITH_OPENSSL,然後一步一步的走下去,然後就編譯成功了。

四、測試libhv,HTTPS

新建一個專案,然後寫了一個簡單的Demo(HTTPS服務和HTML),沒問題,執行很好。

測試Demo下載地址(包含編譯好的動態庫X86):https://wwk.lanzoul.com/iuaec1ukiani

相關文章