Как решить ошибку компоновщика 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 для использования с компоновщиком.

Есть два способа связать нужные библиотеки:

  1. Используйте специфическую цепочку инструментов #pragma директивы. Например, в верхней части одного из ваших исходных файлов добавьте:

     // eg. main.cpp
     #include <stdio.h>
     #include <curl/curl.h>
    
     #pragma comment(lib, "libcurl.lib")
    
     // ...
    

    или же

  2. Добавьте библиотеку импорта libcurl в проект. Вы можете сделать это, щелкнув правой кнопкой мыши на имени проекта->Добавить узел. В окне "Добавить в список проектов" измените фильтр расширений файлов, чтобы найти.lib. По умолчанию он начинается с исходного кода C++. Найдите свой libcurl.lib, который вы импортировали ранее, и нажмите "Открыть". Это добавит библиотеку импорта в проект как зависимость.

Теперь выполните перестройку вашего проекта (щелкните правой кнопкой мыши проект->узел сборки), и он должен работать.

Другие вопросы по тегам