需求概述
编译源码,生成不依赖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文章来源:https://www.toymoban.com/news/detail-631741.html
---完---文章来源地址https://www.toymoban.com/news/detail-631741.html
到了这里,关于无openssl编译libwebsockets源码(关闭SSL)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!