Visual Studio 2019 nuget libcurl LNK2019 LNK1120 - PullRequest
0 голосов
/ 24 сентября 2019

Я только что создал пустой проект C ++ в VS2019.Установил Curl через NuGet вместе с openssl, ssh2, zlib и т. Д.

Теперь, что я ожидал бы, что он разрешает пакеты при создании решения, для чего еще менеджер пакетов?Мех, я получаю следующие ошибки:

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

Хорошо известная ошибка, но я не мог найти решение этой проблемы.Я пытался добавить его в дополнительные библиотеки, я пытался добавить каталоги, папки, ссылки ничего не работает.Я прочитал PDFS для VS2013 и 2015, они НЕ работают.

Я надеюсь, что любой может указать мне правильное направление.Это не должно быть так сложно с менеджером пакетов, или я ошибаюсь?

У меня (очевидно)

#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 голосов
/ 24 сентября 2019

Итак, я наконец-то нашел интересную информацию.Вот часть решения:

Как использовать пакет curl Nuget в приложении C ++

В моем случае я добавил: 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.

Теперь я могу построить решение, но все еще не могу его запустить.Я слежу, когда эта проблема решена.

...