#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
параметры компилятора.