[C/C++] cURL (curlpp) Problem

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von DOWNandOUT, 10. März 2012 .

Schlagworte:
  1. 10. März 2012
    cURL (curlpp) Problem

    Hey, ich habe was das angeht nicht viel Erfahrung mit C++ aber versuche seit Tagen per cURL eine Webseite abrufen zu lassen. Bin dann letztendlich auf die curlpp lib gestoßen und hab mir das Example runtergeladen mit den Headerfiles drin etc.. aber kriege trotzdem immernoch folgenden Error:

    Code:
    1>------ Erstellen gestartet: Projekt: CURLTEST2, Konfiguration: Debug Win32 ------
    1> example01.cpp
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: virtual __thiscall curlpp::easy::~easy(void)" (??1easy@curlpp@@UAE@XZ)" in Funktion "_main".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl curlpp::terminate(void)" (?terminate@curlpp@@YAXXZ)" in Funktion "_main".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall curlpp::easy::perform(void)" (?perform@easy@curlpp@@QAEXXZ)" in Funktion "_main".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall curlpp::easy::url(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?url@easy@curlpp@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)" in Funktion "_main".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall curlpp::easy::easy(void)" (??0easy@curlpp@@QAE@XZ)" in Funktion "_main".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl curlpp::initialize(long)" (?initialize@curlpp@@YAXJ@Z)" in Funktion "_main".
    1>example01.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall curlpp::output_progress_trait::progress_function(double,double,double,double)" (?progress_function@output_progress_trait@curlpp@@UAE_NNNNN@Z)".
    1>example01.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall curlpp::input_passwd_trait::passwd_function(char *,char *,int)" (?passwd_function@input_passwd_trait@curlpp@@UAE_NPAD0H@Z)".
    1>example01.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall curlpp::output_debug_trait::debug_function(enum curlpp::debug::type,char *,int)" (?debug_function@output_debug_trait@curlpp@@UAEXW4type@debug@2@PADH@Z)".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall curlpp::ifile_trait::ifile_trait(struct _iobuf *)" (??0ifile_trait@curlpp@@QAE@PAU_iobuf@@@Z)" in Funktion ""void __cdecl curlpp::`dynamic initializer for 'stdin_trait''(void)" (??__Estdin_trait@curlpp@@YAXXZ)".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall curlpp::ofile_trait::ofile_trait(struct _iobuf *)" (??0ofile_trait@curlpp@@QAE@PAU_iobuf@@@Z)" in Funktion ""void __cdecl curlpp::`dynamic initializer for 'stdout_trait''(void)" (??__Estdout_trait@curlpp@@YAXXZ)".
    1>example01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: virtual __thiscall curlpp::file_trait::~file_trait(void)" (??1file_trait@curlpp@@UAE@XZ)" in Funktion ""public: virtual __thiscall curlpp::ifile_trait::~ifile_trait(void)" (??1ifile_trait@curlpp@@UAE@XZ)".
    1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
    1>D:\curlpp-0.3.2-rc2\curlpp-0.3.2-rc2\test\Debug\CURLTEST2.exe : fatal error LNK1120: 13 nicht aufgelöste externe Verweise.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    Benutze Visual Studio 2010 Express. Code ist das entsprechende example_01.cpp von curlpp.

    Weiss jemand was das für Fehler sind und kann mir weiterhelfen ?
     
  2. 10. März 2012
    AW: cURL (curlpp) Problem

    Ich bin jetzt auch kein C++-Profi, aber ich denke mal du hast vergessen gegen die Bibliothek zu linken.
     
  3. 10. März 2012
    AW: cURL (curlpp) Problem

    Ja hab ich mir auch schon gedacht, da ich von sowas was C++ angeht aber keinea hnung habe, brauch ich da ne .dll oder ne .lib Datei ? Und woher kriegt ich die ? Hab auf der curlpp Seite grad nichts passendes gefunden aber ich schau nochmal.

    Hab jetzt die 2 Dateien:
    libcurlppMD.lib
    libcurlMD.lib
    eingebunden unter Linker in den Projekeigenschaften.

    Die Probleme von oben bestehen aber weiterhin
     
  4. 10. März 2012
    AW: cURL (curlpp) Problem

    Nein, du musst in jedem Fall die zugehörige Dll einbinden, denn die .lib-Dateien enthalten meine ich nicht der eigentliche Programmcode sondern nur Informationen über die in einer Dll bereitgestellten Funktionen.

    In deinem speziellen Fall setzt das ganze bestimmt auch noch auf die normale libcurl auf, so dass du dir die Dll von dort besorgen musst.
     
  5. 10. März 2012
    AW: cURL (curlpp) Problem

    Die DLL hat im Build-Prozess garnichts zu suchen.

    Ich kenn mich mit der Bibliothek curlpp auch nicht wirklich aus, jedoch spricht die Webseite und der Tracker nicht gerade für das Projekt. Wieso nimmst Du nicht einfach CURL selber? Die ist wesentlich besser dokumentiert und für dich wahrscheinlich wg. des Build-Prozesses dessen besser zu handlen, da alles erläutert ist. Beispielprojekte liegen auch vor.

    Übrigends hast Du ein Windows Projekt erstellt, kein Windows Konsolen Projekt. D.h. Du musst mit WinMain(...) und nicht mit main(...) arbeiten. Ändern kannst Du das unter den Projekteinstellungen (Linker -> System -> Subsystem).
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.