fujitsufan
Erfahrenes Mitglied
Hallo zusammen,
bei meinem MFC Projekt habe ich mehrere Klassen.
Manchen Klassen habe ich sogar ein Dialogfeld zugeordnet.
Die Zuordnung habe ich bei der betreffenden Klasse im Headerfile erledigt.
Ein Zuweisung der ID des Dialogfeldes wird hier gemacht.
Das Problem besteht jetzt darin, dass die ID gar nicht existiert.
Zwar ist diese in der "Resources.h" enthalten und VS2017 kann auch an diese Stelle im Headerfile springen.
Dennoch erscheint beim Compilieren die Fehlermeldung:
Fehler C2065 "IDD_DIALOG_MAIN": nichtdeklarierter Bezeichner
Wenn ich den Bezeichner durch die Deklaration ersetze, erscheint dieser Fehler nicht mehr.
Dafür aber ein anderer und zwar:
LNK2001 Nicht aufgelöstes externes Symbol ""public: virtual struct CRuntimeClass * __thiscall CMainDialog::GetRuntimeClass(void)const " (?GetRuntimeClass@CMainDialog@@UBEPAUCRuntimeClass@@XZ)". CS08_CANwizard C:\Workspace_CAN\SVN_Projekte\Branch\CS08_CANwizard\CS08_CANwizard\MainDialog.obj 1
Ich vermute stark, dass das betreffende Headerfile vom Compiler bearbeitet wird
bevor die "Resources.h" bekannt bzw. vom Compiler eingelesen wurde.
Leider kann ich die "Resources.h" nicht als Include - Anweisung einbinden.
Da mecker der Compiler auch.
Vielen Dank im voraus.
Fujitsufan
bei meinem MFC Projekt habe ich mehrere Klassen.
Manchen Klassen habe ich sogar ein Dialogfeld zugeordnet.
Die Zuordnung habe ich bei der betreffenden Klasse im Headerfile erledigt.
Ein Zuweisung der ID des Dialogfeldes wird hier gemacht.
Code:
public:
enum { IDD = IDD_DIALOG_MAIN };
Zwar ist diese in der "Resources.h" enthalten und VS2017 kann auch an diese Stelle im Headerfile springen.
Code:
#define IDD_DIALOG_MAIN 201
Dennoch erscheint beim Compilieren die Fehlermeldung:
Fehler C2065 "IDD_DIALOG_MAIN": nichtdeklarierter Bezeichner
Wenn ich den Bezeichner durch die Deklaration ersetze, erscheint dieser Fehler nicht mehr.
Dafür aber ein anderer und zwar:
LNK2001 Nicht aufgelöstes externes Symbol ""public: virtual struct CRuntimeClass * __thiscall CMainDialog::GetRuntimeClass(void)const " (?GetRuntimeClass@CMainDialog@@UBEPAUCRuntimeClass@@XZ)". CS08_CANwizard C:\Workspace_CAN\SVN_Projekte\Branch\CS08_CANwizard\CS08_CANwizard\MainDialog.obj 1
Code:
enum { IDD = 201 }; //IDD_DIALOG_MAIN
Ich vermute stark, dass das betreffende Headerfile vom Compiler bearbeitet wird
bevor die "Resources.h" bekannt bzw. vom Compiler eingelesen wurde.
Leider kann ich die "Resources.h" nicht als Include - Anweisung einbinden.
Da mecker der Compiler auch.
Vielen Dank im voraus.
Fujitsufan