Visual Studio 2019 nuget libcurl LNK2019 LNK1120

时间:2019-09-24 10:06:21

标签: c++ visual-studio curl libcurl

我刚刚在VS2019中创建了一个空的C ++项目。通过NuGet与openssl,ssh2和zlib等一起安装了Curl。

现在,我希望它在构建解决方案时能够解析软件包,软件包管理器还能做什么? 嗯,出现以下错误:

Error   LNK2019 unresolved external symbol _curl_slist_append referenced in function "public: bool __thiscall checkApi(void)"

一个众所周知的错误,但我找不到此问题的解决方案。我尝试将其添加到其他库中,尝试添加目录,文件夹,链接无用。 我已经阅读了VS2013和2015的PDFS,它们无法正常工作。

我希望任何人都可以指出正确的方向。打包管理器应该不难,还是我做错了?

我(显然)

#include "curl/curl.h"
#include "curl/easy.h"

然后是一种方法:

this->chandle = curl_easy_init();
        if (this->chandle) {
            headers = curl_slist_append(headers, "Accept: application/json");
            headers = curl_slist_append(headers, "Content-Type: application/json");

            curl_easy_setopt(this->chandle, CURLOPT_VERBOSE, 1);
            curl_easy_setopt(this->chandle, CURLOPT_HTTPGET, 1);
            curl_easy_setopt(this->chandle, CURLOPT_URL, api_url);
            curl_easy_setopt(this->chandle, CURLOPT_HTTPHEADER, headers);

            CURLcode ccode = curl_easy_perform(this->chandle);
            curl_easy_cleanup(this->chandle);
        }

enter image description here

1 个答案:

答案 0 :(得分:0)

因此,我终于找到了一些有趣的信息。这是解决方案的一部分:

How to use curl Nuget package in C++ application

就我而言,我添加了:Linker -> Input -> Additional Dependencies -> "libcurl.lib" 然后VC++ Directories -> Include Directories -> "C:\Users\<username>\.nuget\packages\curl\7.30.0.2\build\native\lib\v110\Win32\Debug\dynamic;"Library Direcories的值相同。

现在我可以构建解决方案,但是仍然无法运行它。解决该问题后,我会继续跟踪。