
ich versuche, einige E-Mails über ein C++-Programm zu versenden.
Jemand hat die Bibliothek libquickmail empfohlen.
Aber ich glaube, ich verstehe es nicht wirklich. Zuerst dachte ich, es sei eine reine Kommandozeilenbibliothek, aber gibt es keine Möglichkeit, sie in meinem C++-Programm zu verwenden?
Ich habe die Include-Datei quickmail.h in mein Verzeichnis gelegt und sie in meine cpp-Datei aufgenommen. Darüber hinaus habe ich auch die libquickmail-0.dll, die libquickmaillight-0.dll und die quickmail.exe in meinen Ordner gelegt.
Aber immer wenn ich versuche, die Hauptdatei zu kompilieren, erhalte ich den schwerwiegenden Fehler, dass „smtpsocket.cpp“ und quickmail.cpp fehlen. Aber ich füge sie nirgendwo ein! Warum kann ich also nicht einfach die DLL verwenden? Sollte es nicht auch ohne diese Dateien kompilierbar sein?
Vielen Dank für Ihre Hilfe.
oh und übrigens, ich benutze Windows, nicht Linux... Es gibt ein paar .a lib-Dateien, aber leider keine quickmail.lib oder etwas ähnliches
Bearbeitung 1:
Nachdem ich die Empfehlung von Pavel Skipenes befolgt habe, erhalte ich die folgende Fehlermeldung:
"libquickmail-0.dll" : fatal error LNK1108: invalid or corrupt file: cannot read at 0x408"
"libquickmaillight-0.dll" : fatal error LNK1108: invalid or corrupt file: cannot read at 0x408"
Antwort1
Versuchen Sie Folgendes:
1. Gehen Sie zu Projekt -> Projekteigenschaften -> Konfigurationseigenschaften -> Linker -> Zusätzliche Bibliotheksverzeichnisse. In diesem Feld sucht der Linker nach Ihren .dll-Dateien. Fügen Sie dort den Pfad zu Ihren .dll-Dateien hinzu.
2. Stellen Sie sicher, dass Sie unter Konfiguration „alle Konfigurationen“ ausgewählt haben, da Sie sonst möglicherweise einen Verknüpfungsfehler erhalten, wenn Sie versuchen, in einem anderen Modus zu kompilieren als dem, auf dem Sie gerade arbeiten. Wählen Sie außerdem alle Plattformen aus. Diese beiden Optionen finden Sie oben im Fenster unter den Projekteigenschaftenseiten.
3. Gehen Sie zu Konfigurationseigenschaften -> Linker -> Eingabe -> Zusätzliche Abhängigkeiten. Hier sollten SieAnhängendie Namen der derzeit fehlenden DLLs. Stellen Sie sicher, dass Sie nicht löschen, was jetzt da ist.
4. Kompilieren und verknüpfen Sie Ihr Projekt.
Wenn ein Fehler auftritt, aktualisieren Sie Ihren Beitrag mit der Fehlermeldung aus dem Ausgabefenster.
Antwort2
libquickmail wurde für Windows mit MinGW-w64 erstellt und wird mit MinGW-w64- .a
Bibliotheksdateien geliefert.
Wenn Sie MSVC verwenden, benötigen Sie eine .lib
Bibliotheksdatei.
Bitte schauen Sie sich an:https://stackoverflow.com/questions/9360280/wie-erstelle-man-eine-lib-datei-wenn-man-eine-dll-datei-und-eine-header-datei-hat