Ilissa Geschrieben 4. Mai 2010 Geschrieben 4. Mai 2010 Hallo allerseits, Ich bin eine anfangerin in c++ Ich habe ein Programm bekommen den Ich testen soll. Dieser Programm benutzt Methoden von Openssl! Ich habe eine neuen Projekt angelegt in .Net unter C++ Win32 Dann habe ich den openssl-0.9k runtergeladen! Ein teil mein Code sieht wie folgt aus: #include "stdafx.h" #include "string.h" #include "openssl/evp.h" #include "openssl/pem.h" #include "openssl/sha.h" #include "openssl/err.h" int _tmain(int argc, _TCHAR* argv[]) { CRYPTO_malloc_init(); OpenSSL_add_all_algorithms(); unsigned char sha1sum[SHA_DIGEST_LENGTH]; char* sig = "blablabal"; char* data = "900000000000000000"; char* key = "pppppppppppppppp"; return 0; } jetzt wenn Kompiliere Bekomme Ich die Fehlermeldung: fatal error C1083: Datei (Include) kann nicht geöffnet werden: "openssl/evp.h": No such file or directory WIe kann ich die Dateien aus OpenSSL einbinden so das er die Methoden finde, was in Programm angewendet wird?? Wenn ich versuche ein Verweis zu legen dann komme ich durcheinander da es so viele Dateien in den Ordner OpenSSL. Danke im Vorraus für eure Hilfe Zitieren
flashpixx Geschrieben 4. Mai 2010 Geschrieben 4. Mai 2010 Je nachdem wie es Deine IDE unterstützt musst Du das Include Verzeichnis von der OpenSSL Installation entsprechend eintragen, so dass er dieses nach den Header Dateien durchsucht, analoges gilt auch für den Linker, damit die Libs entsprechend gebunden werden Zitieren
Ilissa Geschrieben 4. Mai 2010 Autor Geschrieben 4. Mai 2010 Danke für deine Antwort.. Ich habe aller .h aus den openssl kopiert und in den .Net eingefügt.. Ich habe auch die ganzen .h in den .NET unter Projektmappe Headerdateien eingefügt. Wenn ich auf verweis klicke bekomme ich Allgemeine Eingenschaften Framework und Verweis habe ich ein Verweissuchpfad auf den LIB (von Openssl) hinzugefügt Aber ich bekomme immer noch den gleichen Fehler? Zitieren
flashpixx Geschrieben 4. Mai 2010 Geschrieben 4. Mai 2010 Ich habe aller .h aus den openssl kopiert und in den .Net eingefügt.. Nicht die Dateien kopieren, sondern dem Compiler mitteilen, wo (!) die Headerdatein liegen. In Unix Umgebungen geschieht das mit dem der Umgebungsvariablen CPPPATH. Bitte lies Dir einmal die Doku zu Deiner IDE durch (.NET ist kleine IDE). Zitieren
Ilissa Geschrieben 5. Mai 2010 Autor Geschrieben 5. Mai 2010 ja Ich habe auch die Header Dateien unter: Project Properties > C/C++ > General > Additional Include Directories eingefügt und die Lib unter Linker > General > Additional Library Directories Ich bekomme immer noch den gleichen Fehler! Zitieren
Klotzkopp Geschrieben 5. Mai 2010 Geschrieben 5. Mai 2010 ja Ich habe auch die Header Dateien unter: Project Properties > C/C++ > General > Additional Include Directories eingefügtDu kannst dort nur Verzeichnisse angeben, keine Dateien. Und wenn du die Header in der Includedirektive mitsamt dem openssl-Ordner angeben willst, musst du dort den Ordner angeben, der diesen openssl-Ordner enthält. Zitieren
Ilissa Geschrieben 5. Mai 2010 Autor Geschrieben 5. Mai 2010 Danke für deine Antwort wenn ich den Ordner angebe der openssl-Ordner enthält dann bekomme ich diese Fehler error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_OPENSSL_add_all_algorithms_noconf" in Funktion "_wmain". und fatal error LNK1120: 2 nicht aufgelöste externe Verweise. Zitieren
Klotzkopp Geschrieben 5. Mai 2010 Geschrieben 5. Mai 2010 Du musst den Linker noch anweisen, die nötige(n) Bibliothek(en) dazuzulinken (Linker > Input > Additional Dependencies). Zitieren
Ilissa Geschrieben 5. Mai 2010 Autor Geschrieben 5. Mai 2010 wenn Ich in Linker > Input > Additional Dependencies rein gehe finde ich nicht die .lib was in den LIB ORDNER steht! (libeay32.lib oder ssleay32.lib) Zitieren
Klotzkopp Geschrieben 5. Mai 2010 Geschrieben 5. Mai 2010 Was heißt du findest sie nicht? Du musst die Bibliotheken, die du brauchst, selbst da hineinschreiben. Zitieren
Ilissa Geschrieben 5. Mai 2010 Autor Geschrieben 5. Mai 2010 du meinst bei Linker--> Eingabe --> Zusätzliche Abhängigkeiten (da habe ich $(ProjectDir) selecttiert) Ich habe lib von Openssl dort auch kopiert und unter Linker--> Allgemein --> Zusätzliche Bibliothekenverzeichnisse den verzeichniss selectiert Ich bekomme den Fehler fatal error LNK1104: Datei "c:\projects\SSL\SSL\.obj" kann nicht geöffnet werden Zitieren
Klotzkopp Geschrieben 5. Mai 2010 Geschrieben 5. Mai 2010 du meinst bei Linker--> Eingabe --> Zusätzliche AbhängigkeitenEin deutschsprachiges Visual Studio? Naja, wer's mag. Ich finde, die Übersetzungen der Fachbegriffe machen es nicht gerade einfach, im Web Hilfe zu finden. (da habe ich $(ProjectDir) selecttiert)Da gehören nun wiederum Dateien hin, keine Verzeichnisse. Du musst dort die konkreten .lib-Dateien auflisten, die du linken willst. Zitieren
Ilissa Geschrieben 5. Mai 2010 Autor Geschrieben 5. Mai 2010 ohhh mein Gott das war aber ein schwerer Geburt Danke Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.