Как решить ошибку компоновщика libCurl в Borland C++ (версия 5.02)?
Я новичок в C / C++.... В последнее время я пытаюсь скомпилировать программу с использованием libCurl. Но это показывает мне эти ошибки:
Error: Error: Unresolved external '_curl_easy_init' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_setopt' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_perform' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Error: Error: Unresolved external '_curl_easy_cleanup' referenced from D:\BC5\BIN\HTTP-POST.OBJ
Я искал в сети об этих ошибках и узнал, что это ошибка компоновщика. Я нашел много уроков по этому вопросу. Но я не могу этого понять.
Обратите внимание, что у меня есть libcurl.dll и много заголовочных файлов, я скопировал заголовочные файлы в D:\BC5\INCLUDE.... Что мне теперь делать?
2 ответа
Вам нужна библиотека импорта для вашей DLL. Вы можете использовать утилиту implib, предоставленную borland, чтобы создать ее из DLL. Включите полученный.lib в ваш проект, и ошибки компоновщика должны исчезнуть. Если он начинает жаловаться во время выполнения, убедитесь, что DLL находится в тех же папках, что и ваш исполняемый файл.
Eelke прав, что вам нужно импортировать библиотеку libcurl для правильного устранения этих ошибок. Основываясь на ваших комментариях выше, я предполагаю, что вы уже сделали следующее:
- У вас есть базовая схема настройки тестового проекта libcurl в ide.
- Добавлены необходимые каталоги include и lib, чтобы libcurl мог быть правильно расположен при сборке.
- Вы правильно создали файл импорта libcurl.lib для использования с компоновщиком.
Есть два способа связать нужные библиотеки:
Используйте специфическую цепочку инструментов
#pragma
директивы. Например, в верхней части одного из ваших исходных файлов добавьте:// eg. main.cpp #include <stdio.h> #include <curl/curl.h> #pragma comment(lib, "libcurl.lib") // ...
или же
Добавьте библиотеку импорта libcurl в проект. Вы можете сделать это, щелкнув правой кнопкой мыши на имени проекта->Добавить узел. В окне "Добавить в список проектов" измените фильтр расширений файлов, чтобы найти.lib. По умолчанию он начинается с исходного кода C++. Найдите свой libcurl.lib, который вы импортировали ранее, и нажмите "Открыть". Это добавит библиотеку импорта в проект как зависимость.
Теперь выполните перестройку вашего проекта (щелкните правой кнопкой мыши проект->узел сборки), и он должен работать.