Возникли проблемы с использованием библиотек cURL для Dev-C ++ в Windows 7 - PullRequest
2 голосов
/ 19 июня 2011

Я установил библиотеки cURL в Dev-C ++, используя Packman.exe, который включен в установку Dev-C ++.Когда я пытаюсь использовать #include <curl/curl.h>, я не получаю сообщение об ошибке, поэтому я предполагаю, что он установлен правильно.Однако, когда я пытаюсь скомпилировать пример с веб-сайта cURL, я получаю следующие ошибки:

[Linker error] undefined reference to _imp__curl_easy_init
[Linker error] undefined reference to _imp__curl_easy_setopt
[Linker error] undefined reference to _imp__curl_easy_perform
[Linker error] undefined reference to _imp__curl_easy_cleanup

Я использую следующий исходный код:

#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://example.com");
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
  return 0;
}

Спасибо!:)

Ответы [ 2 ]

1 голос
/ 19 июня 2011

Для использования (скомпилированной) библиотеки необходимо сделать две вещи:

  • Добавить #include s, чтобы компилятор знал библиотеку.
  • Добавить .lib s (или .a s), чтобы компоновщик знал, где найти код скомпилированной библиотеки.

Вероятно, вам не хватает последнего.Я не использую Dev-C ++, поэтому я не могу помочь с тем, как добавить его.

0 голосов
/ 19 июня 2011

Существует несколько способов добавить файлы .lib и / или .a в компоновщик в Dev-C ++:

Ниже приведено то, что я сделал при прохождении урока повышения http://www.boost.org/doc/libs/1_46_1/more/getting_started/windows.html#link-your-program-to-a-boost-library:

  • Проект> Параметры проекта> Каталоги> Библиотечные каталоги - и затем добавление каталога, в котором находятся файлы * .a.

или

  • Проект> Параметры проекта> Параметры> Линкер

    -L"C:\Path\To Your\Lib\Files\boost_1_46_1\stage\lib"
    -l-lboost_regex-mgw34-1_46_1
    

Я не использовал libcurl, но, надеюсь, процесс похож.

...