如何正确安装 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\
)和cd
到C:\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.lib
、Ws2_32.lib
、Crypt32.lib
、Wldap32.lib
和Normaliz.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\
)和cd
到C:\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?