Не удалось скомпилировать код c с помощью библиотеки Curl, но Curl все еще работает в командной строке Windows 10

#c #libcurl #mingw-w64

Вопрос:

Я недавно установил curl на свой компьютер с Windows 10 через vcpkg. Когда я запускаю его из командной строки, все, кажется, работает нормально. Однако, когда я пытаюсь запустить этот пример кода в VS-коде, я получаю ошибку компилятора:

 #include "curl/curl.h"

void testCurl() {
CURL *curl;
CURLcode res; 

curl_global_init(CURL_GLOBAL_ALL); 

curl = curl_easy_init();
if (curl) {
  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");

#ifdef SKIP_PEER_VERIFICATION
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
#endif

#ifdef SKIP_HOSTNAME_VERIFICATION
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
#endif

res = curl_easy_perform(curl);

if (res != CURLE_OK)
   fprintf(stderr, "curl_easy_perform() failed: %sn",
   curl_easy_strerror(res));

   curl_easy_cleanup(curl);
}
curl_global_cleanup();
}

int main(){
   testCurl();
   return 0;
}
 

Я использую powershell для компиляции. Я попытался выполнить компиляцию со следующими командами:

 g   CurlExample.cpp
g   -lcurl CurlExample.cpp
g   -lcurl/curl CurlExample.cpp
 

И я получаю следующую ошибку:

 CurlExample.cpp:1:10: fatal error: curl: No such file or directory
 

Похоже, что VS-код распознает библиотеку, чего он ранее не делал до установки curl, поэтому я предполагаю, что мне не хватает шага с моим компилятором. Есть какие-нибудь предложения?

Комментарии:

1. ваш установленный curl.exe не имеет ничего общего с заголовками libcurl, о которых ваш компилятор сообщает вам, что вы отсутствуете. Можете ли вы найти curl.h и проверить, находится ли он в путях включения, которые ваш g ищет по умолчанию? Как правило, вы используете систему сборки, которая автоматически находит ваши библиотеки и использует правильные пути для вашего компилятора.

2. Вы путаете -l и -I параметры компилятора.