编译curl支持https(curl、openssl、perl)
curl-7.71.0(最好下载最新的)
openssl-1.1.1f
vs环境:2010
1.官网下载libcurl的源码(百度搜索libcurl即可找到)
直接编译是默认不支持openssl的,所以我们使用vs2010(x64)本机工具命令提示符执行命令
2.官网下载perl环境,因为openssl的执行命令需要用到perl环境。下载完后安装(*安装方式)
这里不做过多解释,需要注意的是如果openssl的执行编译nmake的过程中一直卡在某个文件一直编译不过则到官网下载更低的版本就行。
3.官网下载openssl的开源库
注意:不要解压到c盘:根目录下,不然会发生许多权限的问题
编译openssl的开源库:
(1)、打开visual studio2010的visual studio Tools->选择你想要编译的版本(x86还是x64)
(2)、进入到刚刚解压好的openssl-1.1.1f文件夹下,输入命令:perl Configure VC-WIN32 no-asm --prefix=“F:\opensslh110\build_release32”
(prefix代表的是你想编译到哪个文件夹下,如果你编译的版本是64位的,则WIN32换成WIN64A就行),执行的过程中可能会出现nmake不存在的警告,忽略它,这是因为做openssl的开发不熟悉windows环境变量。
(3)、输入nmake
(4)、输入nmake install(这一步会报一个找不到SSL文件的错误,然后stop了,但没有影响到我的工作,便忽略了)
(5)、到你刚刚创建的目标文件下就可以看到四个文件夹(bin/html/lib/inckude)。可能因为第(4)步出错,没有html,可忽略。
4.vs tools进入到刚刚解压的libcurl下的文件下的winbuild目录下,执行:
nmake /f Makefile.vc mode=dll VC=12 WITH_DEVEL=F:\opensslh110\build_release32 WITH_SSL=static ENABLE_SSPI=no ENABLE_IPV6=no
(WITH_DEVEL代表的是刚刚你编译好的openssl的库的位置
mode=dll 编译libcurl位动态链接库(lib+dll),如果static 就是把libcurl编译位静态库
VC=10 代表使用的是VC2010
WITH_SSL=static ,代表使用libssl库 是静态库(dll),如果是动态库使用dll
ENABLE_SSPI=no ENABLE_IPV6=no(禁用SSPI,ipV6功能)
)
以上所有操作完成之后,你会在libcurl的builds目录下看到三个文件夹,libcurl-vc12-x64-release-dll-ssl-static下就有你需要的头文件,库。