无openssl编译libwebsockets源码(关闭SSL)

需求概述

编译源码,生成不依赖openssl的libwebsockets动态库(dll),操作系统为64位win10,需要提供32位的兼容版本。

解决方案

选择libwebsockets版本为4.3,编译器为VS2017默认编译器,cmake3.26。

在cmake阶段通过LWS_WITH_SSL变量关闭libwebsockets的所有SSL功能。

操作步骤

0、安装cmake(略)。

1、在源代码main目录下(与include平级)创建build文件夹。

2、打开VS2017的开发人员终端,移动至build目录下,执行:

cmake .. -DLWS_WITH_SSL=OFF -DLWS_WITHOUT_BUILTIN_SHA1=OFF

得到VS2017工程文件(sln、vcxproj等)。

3、打开sln文件,等待VS2017加载完成(工程很多,需要加载1分钟),在解决方案资源管理器中选择websockets_shared(倒数第二个),右键生成。

4、在build\bin中取得产出,lib文件在build\lib中。默认生成32位debug版本。

5、第4步之前有可能报错,一般都是libwebsockets版本和VS版本不匹配导致,可以通过修改工程配置(属性)解决。第4步确认无误,我们需要的是32位和64位的release版本,所以清理解决方案,退回第3步。

6、修改/增加配置项,生成32位和64位的release版本。这是VS的通用功能,不再赘述。

7、如果需要静态库,生成websockets(倒数第三个)。

参考资料

Build without SSL · Issue #342 · warmcat/libwebsockets · GitHub

---完---

你可能感兴趣的:(网络,c++,开源软件)