如何正确安装 libcurl 以在 Visual Studio 2017 中使用?

Posted

技术标签:

【中文标题】如何正确安装 libcurl 以在 Visual Studio 2017 中使用?【英文标题】:How do you properly install libcurl for use in visual studio 2017? 【发布时间】:2022-01-15 22:35:16 【问题描述】:

我刚开始使用 c++,不知道如何添加库,尤其是 libcurl。我尝试了一堆教程,但大多数是针对 2013/10 的,或者没有用。谁能解释一下(最好用标准/非技术英语)我如何添加库?我已经尝试在程序的包含部分和附加依赖项菜单中添加它。

请注意,这是我在 3 天前提出的几乎相同的问题,但我没有收到任何回复。不知道这是因为它很容易,我应该自己弄清楚,还是它只是被大量的问题所掩盖,或者其他原因。无论如何,很抱歉重新发布。

【问题讨论】:

【参考方案1】:

以下是我如何让 curl 与 Visual Studio 2017 15.9.14 一起工作:

    从https://curl.haxx.se/download.html下载curl zip包(最新验证为:https://curl.haxx.se/download/curl-7.70.0.zip) 将下载的包解压到您选择的文件夹(例如C:\curl\) 打开Developer Command Prompt for VS 2017(参见Windows“开始”菜单或%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Visual Studio 2017\Visual Studio Tools\)和cdC:\curl\winbuild\ 运行nmake /f Makefile.vc mode=static。这会将 curl 作为静态库构建到 C:\curl\builds\libcurl-vc-x86-release-static-ipv6-sspi-winssl\ 在 Visual Studio 中创建一个新项目(例如 Windows Console Application) 在项目中Properties -> VC++ Directories -> Include Directories 添加C:\curl\builds\libcurl-vc-x86-release-static-ipv6-sspi-winssl\include\ 在项目Properties -> VC++ Directories -> Library Directories 添加C:\curl\builds\libcurl-vc-x86-release-static-ipv6-sspi-winssl\lib\ 那里 在项目中Properties -> Linker -> Input -> Additional Dependencies 添加libcurl_a.libWs2_32.libCrypt32.libWldap32.libNormaliz.lib 尝试构建一个示例程序:
#define CURL_STATICLIB
#include <curl\curl.h>

int main()

    CURL *curl;

    curl = curl_easy_init();
    curl_easy_cleanup(curl);

    return 0;

您也可以使用 vcpkg 安装 curl:

    从https://github.com/microsoft/vcpkg/releases(例如https://github.com/microsoft/vcpkg/archive/2019.09.zip)获取最新的vcpkg zip 文件并将其解压缩到您选择的文件夹(例如C:\vcpkg\) 打开Developer Command Prompt for VS 2017(参见Windows“开始”菜单或%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Visual Studio 2017\Visual Studio Tools\)和cdC:\vcpkg\ 运行bootstrap-vcpkg.bat 运行vcpkg.exe integrate install 运行vcpkg.exe install curl 在 Visual Studio 中创建一个新的 C++ 项目,您就可以开始了 - 使用上面的示例进行尝试。无需修改项目设置。

【讨论】:

是的,这个解决方案实际上非常有效。花了我 8 个小时来寻找和弄清楚。我从来没有在编译过 OpenSSL 支持的 Windows 上获得 CURL。任何人都有解决方案? @DigitalHuman 如果您仍然感兴趣:youtube.com/watch?v=nrLEIRChf84 和 youtube.com/watch?v=7pF8GjMBcmA 嗨!我有兴趣将 libcurl 构建为支持 https 的静态库。我按照第一个选项的说明下载curl.haxx.se/download.html,但是没有这样的Makefile.vs文件,无法运行nmake。你能给我一个包含此类文件的 libcurl 版本(可能是旧版本)吗?谢谢 @notNullGothik 下载 zip 文件(最新的是curl.haxx.se/download/curl-7.69.1.zip)并解压。 Makefile.vs 位于 winbuild 子文件夹中。 惊人的答案!另一种方法对我有用。我只补充一点,如果您想要 64 位版本,请在步骤 5 中使用 vcpkg install curl:x64-windows

以上是关于如何正确安装 libcurl 以在 Visual Studio 2017 中使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置[ZeroMQ]以在Visual Studio 2015 Enterprise中使用?

Visual Studio 2015 编译生成支持HTTPS协议的libcurl静态库

如何更改默认浏览器以在 Visual Studio 2008 中进行调试?

如何配置 Visual Studio 代码以在保存时提交到 git?

如何添加自定义 DB 提供程序以在 Visual Studio 中访问?

如何使用 Visual Studio Code 创建基本内容以在 localhost 上运行?