4 Stimmen

Verknüpfung von libcURL in Visual Studio 2008 Express

Meine erste Frage hier:

Ich habe Probleme bei der Verwendung von libcURL in einem C++-Projekt. Ich bekomme sie nicht einmal verlinkt. Ich verwende Windows XP und Visual C++ 2008 Express Edition.

Ich habe also Folgendes getan:

  1. Heruntergeladene libcURL: curl-7.19.5-devel-mingw32.zip
  2. Neues Kommandozeilenprojekt in VC++ geöffnet
  3. Einfügen der Ordner 'lib' und 'include' in mein neues Projekt (vielleicht trivial, aber ich habe eine Weile gebraucht ;-)
  4. in Eigenschaften->C/C++->Allgemein: Ordner 'include' zu 'zusätzliche einzuschließende Ordner' hinzugefügt
  5. in Eigenschaften->Verknüpfung->Allgemein: Ordner 'lib' zu 'zusätzlichen Ordnern mit Bibliotheken' hinzugefügt
  6. in Eigenschaften->Linker->Eingabe: Zusätzliche Abhängigkeiten hinzugefügt: libcurl.a libcrypto.a libeay32.a libidn.a libssh2.a libssh2dll.a libssl32.a libssl.a libz.a libzdll.a ws2_32.lib wldap32.lib
  7. in Eigenschaften->C/C++->Präprozessor: Definition 'CURL_STATICLIB' hinzugefügt
  8. Ich habe das Häkchen bei 'Precompiled Headers' entfernt und sichergestellt, dass 'Multithreaded-DLL (/MD)' verwendet wird

Nun habe ich das Beispiel simple.c (aus http://curl.haxx.se/lxr/source/docs/examples/simple.c ) in meine Hauptprojektdatei. Wenn ich versuche zu kompilieren, erhalte ich die folgende Ausgabe:

Neues Erstellen gestartet: Projekt: curl_project, Konfiguration: Debug Win32
Die Zwischen- und Ausgabedateien für das Projekt "curl_project" mit der Konfiguration "Debug|Win32" werden gelöscht.
Kompilieren...
stdafx.cpp
Kompilieren...
curl_project.cpp
Manifest in Ressourcen wird kompiliert...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation.  All rights reserved.
Verknüpfen...
libcurl.a(ftp.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(file.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_strtoll" in Funktion "_file_do".
libcurl.a(cookie.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(transfer.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(ssh.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(http.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(mprintf.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "___umoddi3" in Funktion "_dprintf_formatf".
libcrypto.a(b_print.o) : error LNK2001: Nicht aufgelöstes externes Symbol "___umoddi3".
libcrypto.a(bn_word.o) : error LNK2001: Nicht aufgelöstes externes Symbol "___umoddi3".
libcurl.a(mprintf.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "___udivdi3" in Funktion "_dprintf_formatf".
libcrypto.a(b_print.o) : error LNK2001: Nicht aufgelöstes externes Symbol "___udivdi3".
libcrypto.a(e_atalla.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(eng_padlock.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__alloca" in Funktion "_ENGINE_load_padlock".
libcrypto.a(sha512.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(bn_prime.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcurl.a(mprintf.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcurl.a(formdata.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(err_prn.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(cryptlib.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcurl.a(progress.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "___divdi3" in Funktion "_time2str".
libssh2.a(scp.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_snprintf" in Funktion "_libssh2_scp_send_ex".
C:\Dokumente und Einstellungen\Punkx\Eigene Dateien\Visual Studio 2008\Projects\curl_project\Debug\curl_project.exe : fatal error LNK1120: 6 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Punkx\Eigene Dateien\Visual Studio 2008\Projects\curl_project\curl_project\Debug\BuildLog.htm" gespeichert.
curl_project - 22 Fehler, 0 Warnung(en)
========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========

Kann jemand sehen, was ich vergessen habe oder wo das Problem liegt? Ich bin ein C++-Anfänger, es könnte also etwas Triviales sein... Vielen Dank für die Hilfe!

6voto

Joe Punkte 39875

Sie verwenden die MinGW-Bibliotheken mit dem Visual C++-Compiler. Verwenden Sie das richtige Binärpaket und/oder bauen Sie es selbst.

Wenn Sie Visual C++ verwenden, sollten Sie nicht mit .a-Dateien, sondern nur mit .lib-Dateien arbeiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X