Неразрешенные символы при связывании программы с помощью libcurl
Я знаю, что это вопросы программирования, но я просто расстроен, пытаясь понять, что я делаю неправильно..
Я использую visual studio 2010 и выполнил все шаги здесь:http://curl.haxx.se/libcurl/c/visual_studio.pdf
когда я пытаюсь скомпилировать я получаю эту ошибку:
1>------ Build started: Project: LibCurl, Configuration: Debug Win32 ------
1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function _main
1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function _main
1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function _main
1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_init referenced in function _main
1>C:UsersKyleDocumentsVisual Studio 2010libcurlVisualStudioLibCurlDebugLibCurl.exe : fatal error LNK1120: 4 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
источник:
// LibCurl.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}
6 ответов
похоже, что библиотеки не связаны. Убедитесь,что в каталоге библиотеки указан полный путь к библиотеке libcurl. Также убедитесь, что эта библиотека добавляется в ваш проект.
Я использовал статическую версию libcurl, и чтобы правильно связать мою программу с ней, мне пришлось добавить определение:
CURL_STATICLIB
для создания конфигурации моего проекта.
Помимо определения CURL_STATICLIB
, для меня также было необходимо связать следующие зависимости (включая libcurl.lib
или libcurld.lib
):
Ws2_32.lib
Wldap32.lib
У меня была та же проблема. Я написал, как я, наконец, смог сделать CurlLib строительство, здесь: http://quantcorner.wordpress.com/2012/04/08/using-libcurl-with-visual-c-2010/ Если вы хотите посмотреть. Удачи!
Я столкнулся с аналогичной проблемой-обнаружил, что я ссылаюсь на 64-разрядное местоположение libcurl.движение за освобождение. Изменил каталог ссылок на 32-разрядное расположение, и проект скомпилирован отлично.
после многих идей и конфигураций, я решил проблему добавив Это:
#pragma comment(lib, "lib/libcurl_a.lib")
здесь libcurl_a.lib
- это имя файла curl lib и lib
- Это папка, которая содержит его.