__declspec(dllimport) oder header inkludieren (wird nicht gefunden) ?
-
Hmm.
Ich habe eine .dll und eine .lib erstellt. Beide in das Verzeichnis des aufrufenden Programmes gepackt, die .lib gelinkt... Mehr muss man angeblich nicht tun.
MfG
-
Naja, Du musst schon noch eine Funktion aus der DLL aufrufen, sonst kannst Du die LIB/DLL gleich wieder löschen (da sie ja nicht benötigt wird).
-
Ja, ist klar. Mache ich auch. Die Funktion wird aber nicht gefunden, da wohl der header auch nicht gefunden wird.
MfG
-
Test.h
class _declspec(dllexport) Test { public: Test(); ~Test(); void testFunc(); };Test.cpp
#include "Test.h" Test::Test() { ; } Test::~Test() { ; } void Test::testFunc() { ; }Wenn ich nun _declspec(dllimport) void testFunc(); schreibe, passt ja alles, aber in einem Tutorial las ich, dass man #include "Test.h" schreibt. Wird aber nicht gefunden. Von Pfaden setzen war jedenfalls nicht die Rede.
MfG
-
Poste doch bitte mal die *genaue* Fehlermeldung des Compilers!
-
fatal error C1083: Cannot open include file: 'Test.h': No such file or directory
-
Dann trage den Pfad in Deinen Projekteinstellungen ein! Entweder absolut oder relativ zum Projekt-Verzeichnis (C/C++|General|Additional Include Directories)!
-
Warum steht davon nix im Tutorial? Muss man das unbedingt machen?
Gibt es nicht eine Möglichkeit, einfach die .lib einzubinden, eventuell header, keine Ahnung und dann kann man die Funktionen nutzen?MfG
-
Wenn er die Header nicht finden kann, dann kannst Du sie ja nicht einbinden, oder?
Kopier doch die Header/lib in das Verzeichnis Deines Projektes, dann geht es auch.
-
Achso. Wie ist das denn bei bekannten Engines? (Irrlicht, Ogre, ...)
Möchte es einfach nur optimal machen.MfG