windows 编译 openssl + libcurl libcurl库
主要参考https://blog.icrystal.top/archives/11.html
openssl编译
网址: https://www.openssl.org/source
下载的是 3.0.13 版本的
这边是说
- Perl:需要 Perl 来运行 OpenSSL 的构建脚本。你可以从 Strawberry Perl 或 ActivePerl 下载并安装 Perl。
- NASM(可选):如果你要编译支持 x86 或 x86_64 的汇编代码,需要安装 NASM,它是一个汇编器。
一定要安装perl
所以这边去下载一下 https://strawberryperl.com/releases.html
我下载了
环境变量是有这个的
打开
然后
cd "D:\chrome_download\openssl-3.0.13" D: perl Configure VC-WIN64A --release no-asm no-shared --prefix="D:\CPP_INCLUDE\openssl\x64" nmake nmake install
perl: 启动 Perl 解释器来运行 OpenSSL 的配置脚本。Perl 是 OpenSSL 编译过程中的一个必需工具。 Configure: 这是 OpenSSL 提供的配置脚本,用于生成适合特定平台和选项的编译配置。 VC-WIN64A: 指定目标平台和编译器。VC-WIN64A 表示使用 Microsoft Visual Studio 编译器来编译 64 位 Windows 应用程序。这里的 64 代表 64 位架构。 --release: 这个选项表示编译 OpenSSL 的发布版本,而不是调试版本。发布版本通常会启用优化并移除调试信息。 no-asm: 这个选项禁用汇编优化。汇编语言可以提高性能,但在某些平台或环境中,禁用它可能更为稳妥。如果你不需要汇编优化或者遇到汇编相关的问题,可以使用这个选项。 no-shared: 这个选项表示只编译静态库,不编译动态链接库(DLL)。如果你希望生成动态链接库,可以省略这个选项。 --prefix="D:\CPP_INCLUDE\openssl\x64": 指定安装路径。--prefix 选项设置 OpenSSL 的安装目录,所有生成的库和头文件将被安装到这个路径下。
下载 curl https://curl.se/download/
我下的是 8.6.0版本
然后
D:\chrome_download\curl-8.6.0\winbuild>nmake /f Makefile.vc mode=dll VC=16 MACHINE=x64 DEBUG=no WITH_SSL=static SSL_PATH=D:\CPP_INCLUDE\openssl\x64\ WITH_PREFIX=D:\CPP_INCLUDE\curl\x64\
到这个目录里面,编译 最后成功了
也说支持 https
但是挂http代理 或者https代理 访问baidu 会报错 需要加-k
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html
https://curl.haxx.se/ca/cacert.pem 这边可以下载证书