Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Instalacja biblioteki curl

Ostatnio zmodyfikowano 2014-01-10 20:48
Autor Wiadomość
smileer
Temat założony przez niniejszego użytkownika
[C++] Instalacja biblioteki curl
» 2013-11-17 15:37:03
Potrzebuje napisać prosty program w c++ z użyciem curl.
Z biblioteki curl korzystałem nie raz ale podczas pracy z php.

A więc prosiłbym o łopatologiczne wytłumaczenie instalacji tej biblioteki w jednym z programów może być dev(jeśli w innym łatwiej zainstaluje inny).

Walczyłem sam z tym problemem już za pomocą waszego poradnika: http://cpp0x.pl/forum/temat/?id=83

Pytania:
1. Pakietów [li]zlib[/li] [li]openssl[/li] [li]libcurl[/li] jest po parę próbowałem instalować tylko po jednym oraz wszystkie. Jak powinienem żeby było poprawnie. Błąd później rozwinięty występuje nie zależnie od tego czy zainstaluje wszystkie pakiety czy po jednym.

2. Gdzie zapisać projekt, tzn. czy jest to dowolne czy na początku zapisywać w C:\Program Files (x86)\Dev-Cpp czyli tam gdzie mam zainstalowany program?

3. Przy próbie kompilacji wyskakuje mi błąd, zaznacza na czerwono taką linię: $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)    i wyskakuje taki błąd
C:\Program Files (x86)\Dev-Cpp\collect2.exe [Error] ld returned 1 exit status

Na pewno nie ma w danej lokalizacji programu o nazwie collect2.exe .



"Kod programu", który na razie chciałem skompilować wygląda tak:

#include <iostream>

int main() {
return 0;
}

Niestety nie ogarniam na razie c++, jeśli pomożecie zainstalować mi tą bibliotekę to już alej dam sobie radę.
Korzystam z windows8, Dev C++ 5.5.1

Proszę o pomoc.
P-96442
DejaVu
» 2013-11-18 02:39:28
Ogarnij najpierw C++, bo między C++, a PHP jest przepaść. Obsługa CURL-a wymaga znajomości chociażby wskaźników i pobierania adresów zmiennych - w PHP coś takiego nie istnieje. Poza tym ten błąd kompilacji nic nie mówi i przykładowy kod źródłowy powinien się mimo wszystko skompilować o ile nie popsułeś konfiguracji projektu lub co gorsza konfiguracji IDE.

/edit:
Instalacja generalnie sprowadza się do pobrania właściwej paczki i przeprowadzenia konfiguracji projektu. W gorszym scenariuszu kompilację należy wykonać samodzielnie. Szczegółowa konfiguracja innej biblioteki została omówiona pod poniższym linkiem:
http://cpp0x.pl/kursy​/Kurs-SFML-2-x-C++​/Instalacja-i-konfiguracja/465

Konfiguracje wszystkich bibliotek robi się tak samo - zmieniają się tylko ich nazwy. Jeżeli koniecznie chcesz kurs instalacji curl-a to:
Frazy, które należy wpisać w wyszukiwarkę google:
http://stackoverflow.com​/questions/3711284​/vc-installing-libcurl
http://stackoverflow.com​/questions/11625759​/how-to-properly-install-libcurl-and-link-it-to-a-c-program
http://curl.haxx.se/docs​/install.html
http://cpp0x.pl/forum/temat/​?id=83

PS.  W PHP masz wszystko skonfigurowane i działające praktycznie rzecz biorąc od ręki. Czasami trzeba tylko średnik wywalić z pliku konfiguracyjnego php.ini. W C++ nie ma lekko - mając wiedzę niekiedy potrzebujesz poświęcić cały dzień na skonfigurowanie jednej biblioteki, uwzględniając czas potrzebny na poszukiwanie odpowiednich źródeł/libów itp.
P-96529
Darthoor
» 2013-11-20 22:19:23
Witam
Mam podobny problem - zainstalowałem biblioteki zgodnie z Państwa poradnikiem http://cpp0x.pl/forum/temat/?id=83.
Program nie kompiluje się i wyrzuca undefined reference,ale nie dotyczy on bibliotek curl. Poniżej otrzymany log:

C:/Program Files/Dev-Cpp/MinGW32/lib/libcurl.a(url.o):(.text.unlikely+0x249): undefined reference to `idna_to_ascii_lz'
C:/Program Files/Dev-Cpp/MinGW32/lib/libcurl.a(url.o):(.text.unlikely+0x250): undefined reference to `stringprep_locale_charset'
c:/program files/dev-cpp/mingw32/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: C:/Program Files/Dev-Cpp/MinGW32/lib/libcurl.a(url.o): bad reloc address 0x250 in section `.text.unlikely'
collect2.exe: error: ld returned 1 exit status

C:\Users\...\curl\Makefile.win:25: recipe for target 'Projekt1.exe' failed
mingw32-make.exe: *** [Projekt1.exe] Error 1
Compilation failed after 0,42 seconds with

Z czego mogą wynikać następujące linie:
undefined reference to `idna_to_ascii_lz'
undefined reference to `stringprep_locale_charset'
bad reloc address 0x250 in section `.text.unlikely'

Czy jest to wina zainstalowanych bibliotek? Takie biblioteki zostały doinstalowane do devcpp(w kolejności podanej w Państwa poradniku):
zlib-1.2.3-1spec
openssl-0.9.8-1cm
libcurl-7.14.0_ssl-1sid

Poniżej kod pliku *.cpp:

C/C++
#include <stdio.h>
#include <curl.h>


int main( void ) {
   
    CURL * curl;
    CURLcode res;
   
    curl = curl_easy_init();
   
    if( curl ) {
        curl_easy_setopt( curl, CURLOPT_URL, "http://localhost/login.php" );
        curl_easy_setopt( curl, CURLOPT_POST, 1 );
        curl_easy_setopt( curl, CURLOPT_POSTFIELDS, "login=levik&password=tajne" );
        res = curl_easy_perform( curl );
        curl_easy_cleanup( curl );
    }
    system( "pause" );
}

Przeszukałem już Google wzdłuż i wszerz i nie mogę znaleźć rozwiązanie tego problemu. Proszę o pomoc.
P-96868
maly
» 2013-11-21 07:27:36
Spróbuj dodać bibliotekę libidn, powinna być gdzieś z libami curla.
P-96882
smileer
Temat założony przez niniejszego użytkownika
» 2014-01-10 20:48:23
Przepraszam, że tak późno ale muszę się pochwalić, że nie jestem taki nieogarnięty jak mi się przez chwilę wydawało, problem mój rozwiązał się sam gdy tylko spróbowałem wykonać to samo na windows xp, prawdopodobnie kochana ósemka tak dba o mnie, że nie pozwoliła mi zrobić tego co bym chciał i tak jak bym chciał.

Jeszcze raz dziękuję za wszystkie odpowiedzi, co się nauczyłem to moje :)

Temat zamykam.
P-101797
« 1 »
  Strona 1 z 1