我刚刚在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);
}
答案 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
的值相同。
现在我可以构建解决方案,但是仍然无法运行它。解决该问题后,我会继续跟踪。