Curl / Curlpp wie installieren?



  • Ich möchte mit Klasse cURLpp programmieren. (In C++). Als IDE verwende ich Code::Blocks.
    Was muss ich herunterladen?
    Wie geschieht die Installation?
    Brauch ich Curl?

    Vielen Dank für Hilfe 🙂



  • [MOP] schrieb:

    Was muss ich herunterladen?

    Die neuste Version von Curl

    [MOP] schrieb:

    Wie geschieht die Installation?

    Rasch, zuverlässig und einfach. Aber ich denke, dass du das nicht gemeint hast.

    [MOP] schrieb:

    Brauch ich Curl?

    Hmmm, ich schätze nicht oder doch? Im Ernst, was soll die Frage ? 😃

    [MOP] schrieb:

    Vielen Dank für Hilfe 🙂

    Hoffe konnte helfen.



  • Sunny31 schrieb:

    [MOP] schrieb:

    Brauch ich Curl?

    Hmmm, ich schätze nicht oder doch? Im Ernst, was soll die Frage ? 😃

    Ich meinte, ob ich cURL für cURLPP brauche 😃
    Ok, also ich hab jetzt die curlib installiert. Wenn ich jetzt cURLpp installieren möchte muss ich folgendes machen:
    1. ./configure Funktioniert ohne Probleme
    2. ./make install hier kommt bei mir der Fehler:

    LifetimeWithLongevity.inl:19: error: 'upper_bound' is not a member of 'std'
    LifetimeLibrary.cpp: In member function 'void utilspp::LifetimeLibraryImpl::add(utilspp::PrivateMembers::LifetimeTracker*)':
    LifetimeLibrary.cpp:29: error: 'upper_bound' is not a member of 'std'
    make[2]: *** [LifetimeLibrary.lo] Fehler 1

    Wie behebe ich das? 🙄

    mfg [mop]

    PS: Ich benutze Ubuntu



  • So hab dieses Problem selbst beheben können (Einfach die neueste Version nehmen)...
    Hab jetzt alles compiled mit Erfolg!
    Aber wie benutze ich die Lib jetzt?
    Dieser Beispielcode funktioniert immer noch nicht 😞

    #include <curlpp/curlpp.hpp>
    #include <curlpp/Easy.hpp>
    #include <curlpp/Options.hpp>
    
    using namespace curlpp::options;
    
    int main(int, char **)
    {
      try
      {
        // That's all that is needed to do cleanup of used resources (RAII style).
        curlpp::Cleanup myCleanup;
    
        // Our request to be sent.
        curlpp::Easy myRequest;
    
        // Set the URL.
        myRequest.setOpt<Url>("http://example.com");
    
        // Send request and get a result.
        // By default the result goes to standard output.
        myRequest.perform();
      }
    
      catch(curlpp::RuntimeError & e)
      {
        std::cout << e.what() << std::endl;
      }
    
      catch(curlpp::LogicError & e)
      {
        std::cout << e.what() << std::endl;
      }
    
      return 0;
    }
    

    Fehlermeldung:

    example01.cpp|35|error: curlpp/cURLpp.hpp: No such file or directory|

    Muss ich das compilte irgendwo hineinkopieren oder was muss ich machen damit er diese Lib oder wie auch immer man das nennt, findet? 🙄
    Bin noch ein Linux Neuling



  • Warum hast Du das Zeug denn überhaupt manuell installiert? Das gibts doch auch per apt, mach einfach sudo aptitude install libcurl4-openssl-dev oder so und alles funktioniert.

    Zeig doch bitte mal Deinen Compiler-Aufruf, ich schätze, Du hast keinen pkg-config-Aufruf. Der Compiler-Aufruf sollte so oder ähnlich aussehen:

    g++ -o foo $(pkg-config --libs --cflags libcurl) foo.cpp
    


  • Hab deinen aptitude Befehl ausgeführt, es ändert sich aber nichts 😞

    examples$ g++ -o example01 $(pkg-config --libs --cflags libcurl) example01.cpp
    

    Bringt auch keine veränderung 😞
    Hat noch jemand eine Idee?

    Vielen Danke
    [MOP]



  • Dein Problem ist ja nicht die libcurl sondern curlpp. Such nach entsprechender Doku dazu, wie Du die Anwendungen kompilierst, irgendwie musst Du den Include-Pfad übergeben. Keine Ahnung, ob die pkg-config verwenden, oder nicht.



  • Schade, aber trotzdem danke! Wenn jemand noch ne Idee hat bitte melden ⚠
    🙂
    Edit:
    Kann ich nicht einfach die include dateien irgendwie in das Compilerverzeichniß kopieren, sodass er es dann findet? Zum Beispiel <iostream> ist doch auch eine Datei im Compilerverzeichniß oder ist das falsch? 🙄



  • Grml, lies doch bitte die Doku, ich hab Dir doch gesagt, woran es scheitert.

    [MOP] schrieb:

    Kann ich nicht einfach die include dateien irgendwie in das Compilerverzeichniß kopieren, sodass er es dann findet? Zum Beispiel <iostream> ist doch auch eine Datei im Compilerverzeichniß oder ist das falsch? 🙄

    Nein, das macht man nicht. Dem Compiler kannst Du zusätzliche Verzeichnisse mit der -I-Option geben. Also zB. g++ -o foo -I/pfad/zu/meiner/exotischen/library foo.cpp

    Aber häufig verwendet man für Libraries pkg-config oä, welches diese Parameter dann ausspuckt, ohne dass Du Dich um die Details kümmern musst. Schau mal auf der curlpp-Seite, wie sich das Teil verwendet.



  • Ok, hab mir alles nochmal durchgelesen und diese Anleitung befolgt: http://jackvalmadre.wordpress.com/2009/11/20/setting-up-curlpp-in-ubuntu
    Wenn ich jetzt mit diesem Befehl:

    g++ -c example03.cpp `pkg-config --cflags curlpp` -DHAVE_CONFIG_H

    ...compile funktioniert alles 🙂

    Aber ich arbeite ja mit Code::Blocks und wenn ich da unter Build options pkg-config --cflags curlpp -DHAVE_CONFIG_H einfüge kommt unter anderem der Fehler

    ‘curlpp’ has not been declared

    oder

    `cout´ was not declared at this scope

    😞
    Wie behebe ich nun dieses Problem? 🙄



  • [MOP] schrieb:

    `cout´ was not declared at this scope

    Willst du dich nicht lieber mit den Grundlagen auseinandersetzen bevor du dich an etwas höherem wagst?

    cout kommt aus dem std-Namespace, sprich: std::cout.



  • Sunny31 schrieb:

    [MOP] schrieb:

    `cout´ was not declared at this scope

    Willst du dich nicht lieber mit den Grundlagen auseinandersetzen bevor du dich an etwas höherem wagst?

    cout kommt aus dem std-Namespace, sprich: std::cout.

    Ich kann die Grundlagen schon, aber das hab ich jetzt vergessen 🙄
    Was ist mit den anderen Fehlern?



  • Die Backticks haben eine ganz bestimmte Bedeutung, das heißt soviel wie "Hier die Ausgabe des Befehls einsetzen". Schreib mal in die Optionen Deiner IDE $(pkg-config bla blubb sonstige optionen) rein.



  • wenn ich es so mache:
    (pkg-config --cflags curlpp)
    dann compilt er fehlerfrei, aber das Programm, wenn man es öffnet, schließt sich gleich wieder ohne irgendeine Ausgabe, egal bei welchem quellcode 😞 😞
    es ist zum Verzweifeln 😞



  • Würd mich weiterhin über Ideen oder Überlegungen freuen 😉
    Also hab jetzt viel recherchiert und steh immer noch da wo ich hier aufgehört hab, also bei dem curlpp has not been declared Fehler!
    Die lib ist wie gesagt compiled, fehlerfrei! Außerdem hab ich unter /usr/local/lib/pkgconfig/ die datei curlpp.pc gefunden, sagt das jemand was oder kann ich damit was machen? Kenn mich überhaupt nicht mit pkgconfig aus 🙄
    Was ich eigentlich machen will: Ich schreibe ein Programm das Webseiten downloaden soll und daraus gewisse Informationen herausfiltert... Wie würdet ihr das Webseiten downloaden realisieren? Auch mit cURLpp oder kennt ihr noch andere (leicht zu benutzende)?
    Vielen Dank für Tipps und Hilfen 😃 :xmas1: :xmas1:
    [MOP]


Anmelden zum Antworten