【问题标题】:How to setup libcurl on visual studio如何在 Visual Studio 上设置 libcurl
【发布时间】:2018-11-23 23:05:00
【问题描述】:

我正在使用 Windows 10,并使用 Visual Studio 2013(因为我有一些库依赖项)。我想使用 libcurl 向我的本地服务器发出 HTTP 请求。所以我从here 下载库,版本为 7.6.0。

我下载并安装了 MinGW 和 CMake,并按照this 的说明进行操作。之后,我完全不知道如何将此库添加到我的项目中。

所以我加了

"..\curl-7.60.0\include"
"..\curlpp-0.8.1\include"

到我项目的 C/C++ > Additional Include Directories 我还添加了

"..\curl-7.60.0\build\lib\libcurl_imp.lib"
"..\curl-7.60.0\lib"
"..\curl-7.60.0\build\lib\libcurl.dll"
"..\curl-7.60.0\build\lib"
"..\curl-7.60.0\build\src"
"..\curlpp-0.8.1\build\CMakeFiles\curlpp_static.dir\src"

到我项目的链接器 > Additional Directories Libraries

但是当我将这些代码添加到我的项目并运行它时。我有一个链接器错误。请帮忙,我不知道如何添加依赖项:-P

代码:

#include <curl/curl.h>
...
void AppMain::setup() {
    ...
    long flags = CURL_GLOBAL_ALL;
    CURLcode curlcode = curl_global_init(flags ); 
    return 0;
}

错误:

Error 5 error LNK2019: unresolved external symbol _curl_global_init referenced in function "public: void __thiscall AppMain::setup(void)" (?setup@AppMain@@QAEXXZ)

【问题讨论】:

  • 您已将要链接的库添加到 目录 中以搜索库。您必须告诉 MSVC 改为 link 与库。
  • 你能提供一些指导方针吗?因为现在我不知道如何链接库。
  • 我尝试将 libcurl_imp.lib 添加到链接器 > 输入 > Additional Dependencies 但仍然出现相同的错误:-\
  • 我遵循了来自用户 mtlynch 的this 帖子的说明(第二个答案),现在我收到了 63 个链接器错误,而不是只有 1 个链接器错误。现在有两种类型的错误,第一种是未解析的外部符号,另一种是error LNK2005: _strtoll already defined in LIBCMTD.lib(strtoq.obj)。 :-P

标签: c++ visual-studio visual-studio-2013 libcurl


【解决方案1】:

安装 vcpkg(MS 打包器来安装基于 Windows 的开源项目)并使用类似.\vcpkg install libcurl:x64-windows-static 的 powershell 命令。将为您自动安装依赖库。 libcurl 库可以使用 .\vcpkg integrate install 自动集成到您的 VS 项目中。

【讨论】:

  • 在先决条件中它说Visual Studio 2017 or Visual Studio 2015 Update 3。是否可以安装 VS 2017 并在 VS 2013 上使用 vcpkg?
  • @HarveyCordeiro:不,使用 VS2017。交叉编译时也会用到编译器。
猜你喜欢
  • 2011-09-12
  • 2020-01-30
  • 2016-01-06
  • 2022-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
相关资源
最近更新 更多