VS2013编译libcurl(支持https)

之前小编介绍过通过Visual Studio Tools编译libcurl的方法(:https://blog.csdn.net/lt4959/article/details/96475906),最近项目中需要使用到https通信,发现之前编译的libcurl库并不支持https。查阅资料发现原来libcurl默认的编译配置是未开启ssl支持的,所以需要重新配置并编译。

怎么编译支持https的libcurl呢? ((((((((((((っ•ω•)っ Σ(σ`•ω•´)σ 起飞!)

方法1:

执行下面的编译命令

nmake /f Makefile.vc mode=dll VC=12 WITH_DEVEL=C:\openssl_lib WITH_SSL=static ENABLE_SSPI=no ENABLE_IPV6=no

命令注释

 mode=dll 编译libcurl位动态链接库,如果static 就是把libcurl编译位静态库 

 VC=10 代表使用的是VC2010

 WITH_DEVEL=C:\openssl_lib 表示用到第三方开发包的目录,本例上面已经将openssl编译好的开发包,安装到此目录

 WITH_SSL=static ,代表使用libssl库 是静态库

 ENABLE_SSPI=no ENABLE_IPV6=no(禁用SSPI,ipV6功能)

更详细的说明请参考:https://www.cnblogs.com/openiris/p/3812443.html

方法2:

小编后来发现其实libcurl源码已经提供了windows下通过VS进行编译的工程配置,小编的源码放在E:\workspace\libcurl\curl-curl-7_71_1下。

1)、进入curl-curl-7_71_1\projects\Windows目录,如下

2)、进入VC12目录(即vs2013),打开curl-all.sln,

里面有两个工程,

3)、选择libcurl,在其项目配置中选择对应的配置进行编译即可。

编译静态库选择LIB Release/Debug 开头的配置;编译动态库选择DLL Release/Debug开头的配置。

DLL Release - DLL OpenSSL :表示编译DLL(动态库)release版libcurl, 且依赖OpenSSL的DLL库;

LIB Release - DLL OpenSSL :表示编译LIB(静态库)release版libcurl,且依赖OpenSSL的DLL库;

LIB Release - LIB OpenSSL :表示编译LIB(静态库)release版libcurl,且依赖OpenSSL的LIB库;

注意!注意!注意!(ヾ(⌐ ■_■))

libcurl编译时需要依赖OpenSSL/Gmssl, 工程配置中默认是按相对路径来配置的。所以需要该相对路径中存在openssl库。

小编由于要采用gmssl,且该相对路径位置也没有OpenSSL的库即头文件,故将编译好的gmssl LIB库拷贝到E:\workspace\libcurl\deps\lib中,将gmssl头文件拷贝至E:\workspace\libcurl\deps\include中。

然后修改了libcurl工程的LIB Release - LIB OpenSSL配置项,添加了依赖的GmSSL库路径。如下所示

5)、配置完成后,编译。 然后可以去喝杯茶了......●'ω')_旦~ 

编译完成后,在curl-curl-7_71_1\build\目录下就有我们想要的东西啦。。。。。。؏؏☝ᖗ乛◡乛ᖘ☝؏؏

猜你喜欢

转载自blog.csdn.net/lt4959/article/details/108975706
今日推荐