Windows下 VS2013编译,配置C/C++ libcurl开发环境

编译配置环境:

IDE:Visual Studio 2013

Env:Win 10

libcurl_version:curl 7.64.0

官网下载地址:https://curl.haxx.se/download.html

 

一,构建libcurl静态库 (这里编译x64的release版本)

1,下载libcurl源码包,这里使用最新版本。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

下载到本地解压后,留意红色框选的winbuild目录:

Windows下 VS2013编译,配置C/C++ libcurl开发环境

2,打开命令提示符

“开始”菜单——>Visual Studio 2013——>Visual Studio Tools——>VS2013 开发人员命令提示。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

打开如下窗口(本机64位,这里选择红色框选快捷命令):

Windows下 VS2013编译,配置C/C++ libcurl开发环境

3,编译libcurl库

    命令窗口切换到刚刚解压的源码文件夹的winbuild目录下

Windows下 VS2013编译,配置C/C++ libcurl开发环境

命令解析:

  nmake是MS的编译工具

  /f 参数描述文件名不使用默认的makefile

  Makefile.vc 是winbuild里的makefile文件

  mode=static 编译静态链接库

  vc=12 是VC++版本号

        MACHINE=64,64位lib库

        DEBUG=no,是否是debug版本(这里是release版本)。

更多详细命令参数,参考winbuild文件夹中的BUILD.WINDOWS.txt查看。

回车,等待编译完成,关闭命令行界面。此时会在curl根目录下,生成一个builds文件夹:

Windows下 VS2013编译,配置C/C++ libcurl开发环境
打开builds文件夹,其中libcurl-vc12-x64-release-static-ipv6-sspi-winssl 文件夹包含了我们需要的运行库和头文件(可将该目录拷贝至其他位置,若方便后续使用)。 

Windows下 VS2013编译,配置C/C++ libcurl开发环境

二,在Visual Studio中链接libcurl

1,在Visual Studio中,右键单击解决方案资源管理器中的项目,然后单击“属性”。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

2,配置属性> C / C ++>常规>其他包含目录:添加F:\curl-7.64.0\builds\libcurl-vc12-x64-release-static-ipv6-sspi-winssl\include。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

3,配置属性>链接器>常规>其他库目录:添加F:\curl-7.64.0\builds\libcurl-vc12-x64-release-static-ipv6-sspi-winssl\lib

Windows下 VS2013编译,配置C/C++ libcurl开发环境

将以下lib添加至工程!

libcurl_a.lib;Ws2_32.lib;Wldap32.lib;winmm.lib;Crypt32.lib;Normaliz.lib;

Windows下 VS2013编译,配置C/C++ libcurl开发环境

使用了静态编译libcurl,所以需要将CURL_STATICLIB预编译添加至工程。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

如果没有编译debug版libcurl,则需要将“Runtime Library”改为Release版(即后面不带小写字母d)。同时官方并不建议使用“/MT”或“/MTd”。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

注意此处设置修改为和上述设置一致。

Windows下 VS2013编译,配置C/C++ libcurl开发环境

三,项目中调用libcurl

Windows下 VS2013编译,配置C/C++ libcurl开发环境

debug版本和动态库依据上面流程,改一下编译命令,即可生成使用。

感谢以下作者的辛勤劳作:

https://blog.****.net/jmh1996/article/details/79766409?tdsourcetag=s_pcqq_aiomsg

https://my.oschina.net/u/1420791/blog/198247?tdsourcetag=s_pcqq_aiomsg

https://code.i-harness.com/zh-CN/q/133c99d?tdsourcetag=s_pcqq_aiomsg

https://blog.****.net/DaSo_****/article/details/77587916