Как мне включить библиотеку curl в мой проект C в Code Blocks (Windows)? - PullRequest
1 голос
/ 22 января 2012

Вопрос кажется прямым. Я много чего пробовал просто включить curl в мой C-проект с помощью code :: blocks ide, но безрезультатно.

Я хотел бы использовать библиотеку cURL для моего проекта консольного приложения, которому нужны возможности http. Если кто-то успешно сделал это, то ваша помощь очень ценится. :)

Что произошло ранее:

-Я скопировал все файлы cURL в свой проект и связал библиотеки (библиотеки с .a или .lib ext.)

- Затем, когда я строю проект. Появилось много неопределенных ссылок.

Это код, который я тестировал:

#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>

    int main()
    {
     curl_global_init( CURL_GLOBAL_ALL );
     CURL * myHandle;
     CURLcode result; 
     myHandle = curl_easy_init ( ) ;

     curl_easy_setopt(myHandle, CURLOPT_URL, "http://www.example.com");
     result = curl_easy_perform( myHandle );
     curl_easy_cleanup( myHandle ); 
     printf("LibCurl rules!\n");
     return 0;
    }

Вот ошибки:

||=== Fa, Release ===|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_global_init'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_init'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_setopt'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_perform'|
obj\Release\main.o:main.c|| undefined reference to `_imp__curl_easy_cleanup'|
||=== Build finished: 5 errors, 0 warnings ===|

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

Перейдите в ваш проект "Параметры сборки" -> вкладка "Линкер", и у вас есть два варианта:

  1. Если ваша библиотека (правильно) установлена ​​в масштабе всей системы, напишите в «Другие опции компоновщика» библиотеки, как если бы вы использовали ваш компилятор напрямую. Для GCC вы написали бы -lcurl. Вы также можете использовать это с инструкцией пути как Wl,-rpath,/path/to/your/library -lMyLib. Очевидно, это зависит от компилятора и настроек системы.

  2. Добавьте библиотеку в «Связать библиотеки» слева. Нажмите кнопку «Добавить» и найдите файл библиотеки.

Взгляните на это A.3 - Использование библиотек с Code :: Blocks для некоторых изображений. Погуглите вокруг, покажет вам больше.

1 голос
/ 05 августа 2016

Следующие шаги предназначены для пользователей Windows 32.И следующие шаги сработали для меня через несколько часов.Это может или не может работать для вас, как я получил после нескольких проб и ошибок.Вот почему я пишу шаги тщательно.

step1: блоки начального кода создают пустой проект с именем proj_curl

step2: Открыть по этому адресу www.paehl.com/open_source/?CURL_7.50.0

  • на этом сайте загрузить

a) нажмите Загрузить без ssl

b) нажмите Загрузить только libcurl.dll (все версии)

c) нажмите Загрузить Libray(все версии) только

step3: откройте по этому URL-адресу curl.haxx.se / download / curl-7.50.1.zip - ZIP-файл будет загружен автоматически.(извините, этот сайт не позволяет мне вставлять более 2 ссылок, потерпите меня.)

Примечание: Всего загружено 4 архива

  1. curl_750_0.zip (который содержит curl.exe файл)
  2. curl_DLL_ONLY.7z (который содержит папки, такие как nossl, RTMP, ssh ... и т. Д.)
  3. Curl_lib.7z (содержит папку lib )
  4. curl-7.50.1.zip (содержит папку curl-7.50.1 )

step4: создайте папку на диске c (c: \ libs \ curl), извлеките все файлы папок из 4 zip-файлов в папку curl в c.Убедитесь, что вы создали каждый подкаталог для каждого zip-файла.

step5: (очень важно)

В папке curl на диске C: - щелкните на curl.exe (просто появляется командная строка длянесколько миллисекунд.) - Перейти к блокам кода -> Настройки -> Компилятор ... -> вкладка настроек компоновщика -> Добавить

"C: \ libs \ curl \ lib \ nossl \ libcurl.a"

"C: \ libs \ curl \ lib \ nossl \ libcurldll.a"

затем -> вкладка поиска в каталогах -> Компилятор enter image description here

затем -> вкладка поиска в каталогах-> Linker enter image description here

Нажмите кнопку ОК

Шаг 6: - откройте папку «nossl», которая находится в файле curl_DLL_ONLY.7z.

  • скопируйте libcurlФайл .dll в папку bin \ debug проекта блоков кода.

Шаг 7: Теперь проверьте работу библиотеки curl с вашей программой c.

Примечание: если вы столкнетесьоб ошибке "Программа не может запуститься, потому что на вашем компьютере отсутствует zlib1.dll. Попробуйте переустановить программу, чтобы решить эту проблему."

Решение: - скопируйте и вставьтеurl sourceforge.net/projects/mingw/files/latest/download

  • установите mingw-get-setup.exe, отметив все библиотеки (для установки требуется около 10 минут)

  • после установки откройте C: \ MinGW \ bin, скопируйте zlib1.dll в тот же каталог, что и в шаге 6 для libcurl.dll.

Вот так ...

...