C++ libcurl首选的构建方法

C++ libcurl首选的构建方法,c++,c,curl,libcurl,winapi,C++,C,Curl,Libcurl,Winapi,我正在构建libcurl以用于我正在进行的一个项目,在阅读了一些关于如何正确构建它的内容后,我发现了两种方法 方法1: (在根目录中编辑Makefile以将“VC=vc6”更改为“VC=vc10”) C:\dev\curl-7.25.0>设置ZLIB\u PATH=C:\dev\ZLIB-1.2.6 C:\dev\curl-7.25.0>nmake vc zlib 方法二: (将zlib所需的文件放入../deps并编辑Makefile以使用\u IDN=无实际工作) C:\dev\curl-7

我正在构建libcurl以用于我正在进行的一个项目,在阅读了一些关于如何正确构建它的内容后,我发现了两种方法

方法1:
(在根目录中编辑Makefile以将“VC=vc6”更改为“VC=vc10”)
C:\dev\curl-7.25.0>设置ZLIB\u PATH=C:\dev\ZLIB-1.2.6

C:\dev\curl-7.25.0>nmake vc zlib

方法二:
(将zlib所需的文件放入../deps并编辑Makefile以使用\u IDN=无实际工作)
C:\dev\curl-7.25.0\winbuild>nmake/f Makefile.vc mode=static vc=10 WITH_ZLIB=sta
tic DEBUG=no USE\u IDN=no WITH\u DEVEL=../deps

两者都可以正常工作

可怕的是,输出的libcurl.lib文件大小不同。
那么,有没有任何libcurl专家可以告诉我这两种构建方法之间的区别,以及推荐使用哪种方法呢?

因此,到目前为止,我发现方法1要求您将应用程序链接到
Ws2_32.lib
Wldap32.lib
,而方法2没有(可能是增加尺寸的原因)

方法1的输出可执行文件也稍小一些


我真的很好奇是否还有其他区别。

也许有一种方法针对静态库编译(输出更大),而另一种方法针对动态库编译(输出更小)?@smink Nope,这两种方法都绝对是静态库。运行“curl-V”验证它们是否具有相同的功能集