Probleme beim Linken mit static Variablen
-
Hallo !
Ich habe in meiner class mehrere static variablen implementiert (BCB6).
Der Linker meldet jedoch jedesmal den Fehler "Ungelöste Externe DDIinfoPtr ..."Woran liegt das ?
Vielen Dankclass TPhoenixEthDrv : public TObject { static T_DDI_VERSION_INFO DDIinfoPtr; private: // Anwender-Deklarationen ... public: // Anwender-Deklarationen ... static int __fastcall MyDDI_GetInfo (void); };
-
Hallo,
Du hast deine statische Variable nur deklariert aber nicht definiert. Schreibe in die cpp noch die Definition:
T_DDI_VERSION_INFO TPhoenixEthDrv::DDIinfoPtr;
-
Hallo
Du must die statischen variablen nicht nur deklarieren, sondern auch implementieren.
// Header class TPhoenixEthDrv : public TObject { static T_DDI_VERSION_INFO DDIinfoPtr; }; // Implementationsdatei T_DDI_VERSION_INFO TPhoenixEthDrv::DDIinfoPtr = ...; // Hier auch initialisierung
bis bald
akari/Edit : Zu spät
-
Danke für den Hinweis.
Ich habe nun die Zeile in den Constructor eingefügt:
__fastcall TPhoenixEthDrv::TPhoenixEthDrv(void) { T_DDI_VERSION_INFO TPhoenixEthDrv::DDIinfoPtr; }
Aber das ist wohl die falsche Stelle, denn ich aber die Fehlermeldung:
"Bezeichner .. darf keinen Typqualifizierer besitzen."
-
Hallo
Du sollst diese Zeile doch nicht in den Konstruktor einfügen.
bis bald
akari
-
Kk, danke.
Jetzt klappt es.