VS2017 下openssl-1.1.1+ libwebsockets-4.0.0 编译
声明:
本文经过https://blog.csdn.net/zjkc_yf/article/details/122693956的指导实战后进化而来.补充了一些要点.
首先准备素材:
不要盲目追新版本. 我按网上GitHub下的websocket4.3版本main版本 openssl最新WinOpenSSL啥的,全部都是坑爹货!最后生成一大堆编译错!根本出不了.lib 和DLL
工具和原料准备:
1.strawberry-perl-5.38.2.2-64bit.msi 那个什么所谓的ActivePerl已经完蛋了.勿念.
下回来一路无脑安装.完了打开命令行 perl -v有东西表示OK. 没东西,那你自己去百度.
2.cmake-3.18.0-win64-x64 用来生成VS工程.(请勿盲目追新,一样有坑!)
3.Visual Studio 2017. 原文用的2019.但我没有.
4.openssl-1.1.1.tar.gz 原文有下载方式.下完解压
5.zlib-1.2.11.tar.gz 原文也有下载方式.下完解压
6.libwebsockets-4.0.0.tar.gz 原文也有下载方式.下完解压
东西准备好齐活之后
1.先编zlib.这个没多少坑.请移步zlib / win10 下 vs2019 编译 zlib 的方法
2.再编openssl,X86用X86 X64用X64.不要踩坑!比如X86看下图
然后输入如下命令.test的过程有一些错误.但可以无视
cd D:\BaiduNetdiskDownload\openssl-1.1.1
set LC_ALL=C
perl Configure debug-VC-WIN32 no-asm --prefix="D:\BaiduNetdiskDownload\openssl-1.1.1\bin\debug"
nmake
nmake test
nmake install
nmake cleanperl Configure VC-WIN32 no-asm --prefix="D:\BaiduNetdiskDownload\openssl-1.1.1\bin\release"
nmake
nmake test
nmake install
nmake clean
debug和release的openssl就出来了
接下来是我们的最终主角libwebsocket.(c++搞个东西真是费劲)
先去解压的目录新建一个build.然后用CMake-gui打开解压路径.按图做如下选择.
至于ZLIB 我当时是勾了并选了的.但是可能因为上面这个勾.所以并不起作用.我个人猜测 zlib不是必要选项
然后点Configre.如果还有红色,看看还有哪些漏了的,如果没有, 点Generate.然后打开工程指定x86 debug release开编.
然后用通义AI写了个websocket的服务器端demo,设定好库目录 拷贝好dll
运行成功.如下图