DevCPP ist kein Compiler. Nur ein grafischer Aufsatz, der mit
verschiedenen Compilern verwendet werden kann. (Noch dazu veraltert).
Die Frage bleibt: Welcher Compiler? gcc?
C++:
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
Brauchst du das irgendwo? Das sollte weg. Verwirrt sowieso nur, beides mal "Import".
Das ist definitiv falsch. Schon deshalb, weil du eine Funktion nicht irgendwo im leeren Raum aufrufen kannst.
Deshalb die Compilerfehler. Aber auch sinnmäßig geht da was daneben:
Beim ordentlichen Erstellen einer DLL bekommst du eine .dll und eine .lib. Dazu muss noch eine .h-Datei geschrieben werden.
Das mit .h passt prinzipiell, aber: Statt die dll irgendwo im Code anzugeben musst du die lib in den Linkereinstellungen eintragen. Die dll wird dann nur zum Programmstart benötigt und muss auch beim Weitergeben vom Programm mitgegeben werden. Die lib und h braucht man nur zum kompilieren.
Und zu
C++:
class __declspec ( dllimport ) Point;
Da gehört nicht nur der Name, sondern die komplette Klasse rein. Allerdings ohne Funktionsinhalt.
zB.
C++:
class asd
{
protected:
int i;
public:
void funktion(int x);
}
Vielleicht postest du auch mal den DLL-Code (kannst auch alles zuasmmen als Zip hier raufladen).
Allgemein ist eine Klasse in nativen DLLs nicht wirklich einheitlich zwischen den Compilern gehandhabt.
Ich glaubs zwar nicht, aber es könnte auch sein dass dein Compiler da gar nicht mitmacht.
Zum Forum noch was: Statt [code]...[/code] kannst für C und C++ auch [code=cpp]...[/code] verwenden. Dann wirds noch farbig dazu.
Gruß