一、工具准备
Visual Studio 2008 :确保安装了 C++ 开发工具。
Git :用于克隆 cURL 的源码。
Perl :可以从 ActiveState Perl 下载并安装。
NASM (可选):如果需要汇编优化,可以从NASM 官方网站 下载并安装。
注意:以下命令行用的都是VS2008这个命令提示工具!
二、openssl
bash
-- 编译openssl(openssl-3.1.8)
perl Configure VC-WIN32 no-shared --prefix=D:\openssl_output -MT
nmake
nmake install
VC-WIN32 :指定目标平台为 32 位 Windows。
no-shared :生成静态库。
--prefix=D:\openssl_output :指定安装目录。
-MT:强制使用静态 CRT(我项目编译时使用的是 MT,所以这里也用MT:)。
这里我用的工具是 VS 2008 ,太高的openssl版本,可能编译会有各种错误,没有多看,这个版本刚刚好,有兴趣的可以自己研究一下!


三、curl
1、下载
bash
//下载地址,下载源代码
https://github.com/curl/curl/releases
2、进入目录,执行配置文件生成脚本
bash
cd D:\curl\curl-curl-8_11_1\curl-curl-8_11_1
buildconf.bat
3、进入winbuild目录进行编译
bash
nmake /f Makefile.vc mode=static VC=9 WITH_SSL=static WITH_DEVEL=..\deps MACHINE=x86 RTLIBCFG=static ENABLE_IDN=no
注意,这里用的是VS2008的工具,所以VC=9,编译静态库,用的是static。WITH_DEVEL 是openssl 放的位置
4、生成文件
看 libcurl-vc9-x86-release-static-ssl-static-ipv6-sspi 就行
四、可能会遇到的问题以及解决方案
1、curl使用报错error LNK2001: 无法解析的外部符号 __imp__CertCloseStore@8
解决方案:点击这里。
2、curl使用报错error LNK2001: 无法解析的外部符号 __imp__curl_easy_setopt
解决方案:点击这里。
3、curl库使用报错error LNK2001: 无法解析的外部符号 __imp__IdnToAscii@20
解决方案:点击这里。