Problem bei der nutzung von Libcurl


  • Mod

    seb-eisdrache schrieb:

    der fehler log ist nun wesentlich kürzer

    Link mal gegen die curl DLL, nicht gegen die statische Library.

    wenn ich aber nun ein open ssl test machen möchte
    [...]
    aus, ich das gefühl da ist etwas sehr faul

    Hast du einfach den Quellcode von OpenSSL deinem Projekt zugefügt? Das geht natürlich nicht. Der offensichtlichste Grund dafür ist, dass OpenSSL in C geschrieben ist und daher nicht mit einem C++-Compiler übersetzt werden kann. Du musst OpenSSL erst einmal bauen und dann die dabei erstellte Bibliothek benutzen.



  • Ich habe open ssl noch nicht selbst kompeliert, aber wenn ich nun das programm starte und mit einen https beispiel http://curl.haxx.se/libcurl/c/https.html teste mit google bekomme ich folgendes;

    curl_easy_perform() failed: Peer certificate cannot be authenticated with given
    CA certificates


  • Mod

    Dir ist schon klar, dass https://example.com nur ein Beispiel ist, oder?



  • ja... deswegen hab ich auch www.google.de dort eingegeben


  • Mod

    Dann kann ich dir nicht mehr weiter helfen, denn bei mir funktioniert es und googeln kannst du selber. Von der Fehlermeldung her ist wohl irgendetwas falsch konfiguriert. Ich verschiebe dich mal, da das ein sehr allgemeines Problem ist, das alle Nutzer von libcurl kennen könnten, nicht bloß C++-spezifisch.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • soo

    ich habe weiter rumgewerkelt...

    ich habe libcurl nun mit dem windows nativen ssl mit hilfe von visiual studio express komepeliert und die lib dann in code::blocks eingebunden.
    Funktioniert auch soweit, nur stürzt das programm beim clean_up ab.



  • ich konnte lib curl nun mit hilfe von: http://code.google.com/p/twitcurl/wiki/WikiCompileMinGWWindows mit MinGw kompelieren, allerdings hab ich folgende optionen gesetzt:
    $ configure --with-winssl --with-winidn --enable-ipv6

    nur leider stürzt mein programm immer bei curl_easy_cleanup() ab.

    konnte leider keinen lösungsansatz bisher finden...



  • ich habe nun versucht die libcurl als statische lib zu kompelieren. Laut google kann dies die abstürze beheben.

    aber egal was ich versuche ich bekomme immer (Code::Blocks):

    -------------- Build: Debug in test (compiler: GNU GCC Compiler)---------------
    
    mingw32-g++.exe -LC:\boost_1_53_0\lib -LC:\curl\lib  -o bin\Debug\test.exe obj\Debug\main.o   -static-libgcc -static-libstdc++  C:\boost_1_53_0\stage\lib\* C:\curl\lib\libcurl.a C:\MinGW\lib\libws2_32.a 
    obj\Debug\main.o:main.cpp:(.text+0xf6): undefined reference to `_imp__curl_global_init'
    obj\Debug\main.o:main.cpp:(.text+0x10c): undefined reference to `_imp__curl_easy_init'
    obj\Debug\main.o:main.cpp:(.text+0x145): undefined reference to `_imp__curl_easy_setopt'
    obj\Debug\main.o:main.cpp:(.text+0x169): undefined reference to `_imp__curl_easy_setopt'
    obj\Debug\main.o:main.cpp:(.text+0x18a): undefined reference to `_imp__curl_easy_setopt'
    obj\Debug\main.o:main.cpp:(.text+0x1ae): undefined reference to `_imp__curl_easy_setopt'
    obj\Debug\main.o:main.cpp:(.text+0x1bf): undefined reference to `_imp__curl_easy_perform'
    obj\Debug\main.o:main.cpp:(.text+0x1e1): undefined reference to `_imp__curl_easy_strerror'
    obj\Debug\main.o:main.cpp:(.text+0x333): undefined reference to `_imp__curl_easy_cleanup'
    obj\Debug\main.o:main.cpp:(.text+0x33a): undefined reference to `_imp__curl_global_cleanup'
    collect2: ld gab 1 als Ende-Status zurück
    Process terminated with status 1 (0 minutes, 4 seconds)
    10 errors, 0 warnings (0 minutes, 4 seconds)
    


  • Hast du auch CURL_STATICLIB definiert?



  • irgendwie scheint mit die IDE langasm etwas suspekt... ich hatte es vorher auch immer angegeben bei den #defines aber nun scheint er es kapiert zu haben.

    also er hat ohne zu mekern kompeliert.

    Aber leider hat dies immer ncoh nicht den absturz bei dem "curl_easy_cleanup(curl);" befehl behoben.


Anmelden zum Antworten