_
Auf JEDEN Fall erst die Grundlagen lernen (zumindest über Modularisierung), bevor du's dir antust, MFC zu benutzen. Aber pass mal auf, mach' es mir ganz genau nach, wenn du mit VC++ arbeiten willst:
1. Neues Projekt, bitte ein LEERES Projekt OHNE MFC
2. Dann eine neue Datei hinzufügen, deiner Headerdatei (die dann ganz eer sein müsste, ohne irgendeinen VC++-Schnickschnack
3. Dort schreibst du die Definitionen deiner Funktionen hin, also nur Prototyp, ohne Implementierung
4. Dann legst du eine neue cpp-Datei an (wieder Datei->Neu), wieder LEER, dann bindest du die Header ein und implementierst dort deine Funktionen
5. Nun kannst du weitere cpp-Dateien anlegen und überall, wo deine Funktionen gebraucht werden, inkludierst du deine Header UND SONST NICHTS, denn dann kennt der Compiler die Deklarationen. Beim Linken wird dann über VC++ automatisch das Modul deiner Funktionen (der kompilierte Code aus der Funktions-Cpp) hinzugelinkt
6. Das müsste dann funktionieren - Ganz ohne irgendwelche vorkompilierte Header oder sonstige Optimierungen, die für Anfänger sind!
OK?
Hier ein Beispiel:
// func.h - hier sind deine Deklarationen
#ifndef _FUNC_H_
#define _FUNC_H_
int add(int a, int b);
#endif
// das wars schon
So, nun die Implementierung
// func.cpp - hier sind die Implementierungen
#include "func.h"
int add(int a, int b)
{
return (a+b);
}
// fertig!
So, dieses Modul (die cpp-Datei) wird getrennt von anderen Modulen kompiliert. Wenn jetzt ein anderes Modul diese Funktion benutzen will...
// main.cpp - Hauptmodul
#include "func.h"
int main()
{
int number1 = 5, number2 = 3;
return add(number1,number2);
}
// fertig
dieses Modul bruaucht nun NUR die Headerdatei zu inkludieren (damit der Compiler weiß, wie die Funktion aussieht und dass es sie überhaupt gibt), nachher beim Linken linkt der Linker (viele L's...) das Funktionsmodul an das Hauptmodul und er erkennt, dass die Referenzen durch das Headerfile durch das kompilierte Modul bestätigt werden - so einfach.
Wenn jetzt was nicht klappt, sag' es mir und bedenke - LEERE Projekte, KEINE MFC, KEINE Optimierungen, ok?