c ++ curl неопределенная ссылка на кодовые блоки _imp__curl_easy_init - PullRequest
0 голосов
/ 08 февраля 2019

скачал скомпилированный libcurl из github, связал библиотеку с проектом и включил заголовочный файл, и я пытаюсь запустить простой код

#include <iostream>
#include <string>
#include <curl/curl.h>


static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp)
{
    ((std::string*)userp)->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main(void)
{
  CURL *curl;
  CURLcode res;
  std::string readBuffer;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);

    std::cout << readBuffer << std::endl;
  }
  return 0;
}

, но я получаю ошибки

неопределенная ссылка на_imp__curl_easy_init неопределенная ссылка на _imp__curl_easy_setopt неопределенная ссылка на _imp__curl_easy_perform неопределенная ссылка на _imp__curl_easy_cleanup

кто-нибудь может мне помочь?Я нахожусь на Windows 10 и использую кодовые блоки 17

1 Ответ

0 голосов
/ 08 февраля 2019

Вы должны добавить это определение перед включением curl:

#define CURL_STATICLIB

Похоже, что вы статически связываетесь с curl, но об этом нужно сообщить curl, чтобы представить реализацию.

...