Как решить ошибку компоновщика libCurl в Borland C ++ (версия 5.02)? - PullRequest
3 голосов
/ 11 июля 2011

Я новичок в 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 ]

2 голосов
/ 11 июля 2011

Вам нужна библиотека для импорта вашей DLL. Вы можете использовать утилиту implib, предоставленную borland, чтобы создать ее из DLL. Включите полученный .lib в ваш проект, и ошибки компоновщика должны исчезнуть. Если он начинает жаловаться во время выполнения, убедитесь, что DLL находится в тех же папках, что и ваш исполняемый файл.

0 голосов
/ 12 июля 2011

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 в проект.Это можно сделать, щелкнув правой кнопкой мыши по имени проекта -> add node .В окне Добавить в список проектов измените фильтр расширений файлов, чтобы найти .lib.По умолчанию он начинается с C ++ source .Найдите свой libcurl.lib, который вы импортировали ранее, и нажмите «Открыть».Это добавит библиотеку импорта в проект как зависимость.

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

...