【libcurl】Visual Studio 2017编译和配置libcurl开发环境

1、libcurl介绍

libcurl是免费的客户端URL传输库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP。libcurl支持SSL证书, HTTP POST、HTTP PUT、FTP上传、基于HTTP表单的上传、代理、Cookie、用户+口令认证(基本、摘要、NTLM、协商、Kerberos)、文件续传、HTTP代理隧道等!

libcurl是高度可移植的,它构建和工作在许多平台上,包括Solaris、NETBSD、FreeBSD、OpenBSD、Darwin、HPUX、IIX、AIX、TUR64、Linux、UNIX、HUD、Windows、AMIGA、OS/2、BeOs、Mac OS X、ULTRIX、QNX、OpenVMS、RISC OS、Novell NETWORD、DOS等等。

libcurl是免费的,线程安全,IpV6兼容,功能丰富,良好支撑,快速,文档全面,并已被许多知名的,大的和成功的公司使用。

主页地址:https://curl.haxx.se/libcurl/

2、环境

  • Windows 10(1803)
  • Visual Studio 2017(15.7.3)

3、编译libcurl

  • 下载libcurl,地址:https://curl.haxx.se/download.html
    我使用的是curl-7.60.0。
    这里写图片描述

  • 解压文件,进入目录curl-7.60.0,运行buildconf.bat

  • 进入curl-7.60.0目录下的winbuild目录,复制路径
  • 进行x64编译
    在开始菜单中找到Visual Studio 2017文件夹,选择如下:
    这里写图片描述
    打开命令窗口如下:
    这里写图片描述
    在命令窗口输入如下命令:

    cd D:\ThirdCode\curl-7.60.0\winbuild #根据自己的路径输入
    d:
    nmake /f Makefile.vc mode=static VC=14 MACHINE=x64 DEBUG=no

    我设置的是在vc14下静态release编译。
    编译参数设置根据winbuild目录下BUILD.WINDOWS.txt自行设置,具体参数如下:

    nmake /f Makefile.vc mode=<static or dll> <options>
    
    where <options> is one or many of:
      VC=<6,7,8,9,10,11,12,14,15>    - VC versions
      WITH_DEVEL=<path>              - Paths for the development files (SSL, zlib, etc.)
                                       Defaults to sibbling directory deps: ../deps
                                       Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/
                                       Uncompress them into the deps folder.
      WITH_SSL=<dll or static>       - Enable OpenSSL support, DLL or static
      WITH_NGHTTP2=<dll or static>   - Enable HTTP/2 support, DLL or static
      WITH_MBEDTLS=<dll or static>   - Enable mbedTLS support, DLL or static
      WITH_CARES=<dll or static>     - Enable c-ares support, DLL or static
      WITH_ZLIB=<dll or static>      - Enable zlib support, DLL or static
      WITH_SSH2=<dll or static>      - Enable libSSH2 support, DLL or static
      ENABLE_SSPI=<yes or no>        - Enable SSPI support, defaults to yes
      ENABLE_IPV6=<yes or no>        - Enable IPv6, defaults to yes
      ENABLE_IDN=<yes or no>         - Enable use of Windows IDN APIs, defaults to yes
                                       Requires Windows Vista or later
      ENABLE_WINSSL=<yes or no>      - Enable native Windows SSL support, defaults to yes
      GEN_PDB=<yes or no>            - Generate Program Database (debug symbols for release build)
      DEBUG=<yes or no>              - Debug builds
      MACHINE=<x86 or x64>           - Target architecture (default is x86)
      CARES_PATH=<path to cares>     - Custom path for c-ares
      MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS
      NGHTTP2_PATH=<path to HTTP/2>  - Custom path for nghttp2
      SSH2_PATH=<path to libSSH2>    - Custom path for libSSH2
      SSL_PATH=<path to OpenSSL>     - Custom path for OpenSSL
      ZLIB_PATH=<path to zlib>       - Custom path for zlib

    等待编译结束后,关闭命令窗口。
    编译后的头、静态文件等见curl-7.60.0目录下builds目录
    这里写图片描述

4、在Visual Studio 2017中使用

  • 创建vc++项目
  • 把前面编译的lib和include目录添加至项目,如下
    这里写图片描述
  • 把libcurl_a.lib、ws2_32.lib、winmm.lib、wldap32.lib、Crypt32.lib、Normaliz.lib添加至项目,如下
    这里写图片描述
  • 预处理器定义添加CURL_STATICLIB;_CRT_SECURE_NO_WARNINGS
    这里写图片描述
  • 运行库设置
    这里写图片描述
  • 运行例子
    测试例子:https://curl.haxx.se/libcurl/c/fileupload.html
    例子中需要修改
    CURLINFO_TOTAL_TIME_T(适用curl-7.60.1版本) 改为 CURLINFO_TOTAL_TIME。
    注意修改下图红框内容
    第一红框中为本地文件路径(例如:D:/TestData/1骄傲.mp3);
    第二红框中为目的文件路径(例如:file:///e:/1骄傲.mp3);
    这里写图片描述
  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Windows系统中使用VS Code进行libcurl编译与使用需要以下步骤: 1. 下载安装VS Code:访问VS Code官方网站https://code.visualstudio.com下载并安装适用于Windows的最新版本VS Code。 2. 安装C/C++扩展:在VS Code中点击左侧侧边栏的扩展图标,在搜索框中输入"C/C++",选择Microsoft官方提供的C/C++扩展,并点击"安装"按钮进行安装。 3. 下载libcurl源码:访问libcurl官方网站https://curl.se/download.html下载最新的libcurl源码压缩包,解压到本地目录。 4. 配置CMake:在VS Code中按下Ctrl+Shift+P,输入"kit",选择"CMake: Edit User-Local CMake Kits",在弹出的json文件中添加以下内容: { "name": "Windows", "compilers": { "cpp.win32": { "target": "x64" } }, "cmakeCommandArgs": [ "-DCMAKE_TOOLCHAIN_FILE=C:/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake", "-DVCPKG_TARGET_TRIPLET=x64-windows" ] } 将上述路径替换为vcpkg的实际安装路径。 5. 配置vcpkg:访问vcpkg官方网站https://github.com/Microsoft/vcpkg下载并安装vcpkg,按照官方文档的指引完成安装及设置。 6. 安装libcurl依赖库:在命令行中切换到vcpkg安装目录,运行命令`.\vcpkg install curl:x64-windows`进行libcurl依赖库的安装。 7. 配置编译任务:在VS Code中按下Ctrl+Shift+B,选择"配置任务",然后选择"生成任务",在生成任务配置文件中添加以下内容: { "label": "build", "type": "shell", "command": "cmake", "args": ["${workspaceRoot}"] } 8. 编译与使用:在VS Code中打开libcurl源码目录,按下Ctrl+Shift+B,选择"build"任务进行编译编译完成后,在生成目录中可以找到生成的可执行文件或库文件,可以在代码中引用相应的头文件进行libcurl的使用。 需要注意的是,上述步骤仅提供了基本的编译与使用指导,具体的操作可能因环境或版本变化而有所差异,请根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值