SwordMaster Geschrieben 22. Juli 2004 Geschrieben 22. Juli 2004 Hi Leute Ich habe eine C++ Anwendung mit mehreren Klassen (incl. einer Applikationsklasse). Nun brauche ich aber zusätzlich noch ein paar globale Variablen und Funktionen. Also hab ich mir eine extra "globaleSachen.h" datei erstellt, und da alle globalen sachen reingeschrieben. Wenn ich aber jetzt in meiner Applikationsklasse und in einer anderen Klasse #include "globaleSachen.h" schreibe bekomme ich immer Fehler wie z.B. error LNK2005: "struct HINSTANCE__ * hDll" (?hDll@@3PAUHINSTANCE__@@A) bereits in ForeignAPI.obj definiert vermutich liegts an dem doppelten #include (denk ich mal) aber ich wnen ich das #include weglasse dann kennt der compiler meine Variablen/funktionen nicht... Was kann ich tun? Danke für eure hilfe! Ciao SwordMaster Zitieren
SwordMaster Geschrieben 22. Juli 2004 Autor Geschrieben 22. Juli 2004 Hab jetzt nochmal im internet nach dem fehler gesucht. und auch was gefunden. Da stand ich soll meine variable als extern deklariern... also hab ich erst mal nachgekuckt wie das geht :-). nur ich versteht das jetzt nicht ganz. wenn ich jetzt angekommen eine globale variable "int zahl" brauche. Brauche ich dann zwei header dateien?? eine headerdatei wo "int zahl" drinnensteht und die nur EINMAL includiert wird. und eine headerdatei wo "extern zahl" drinnensteht? die ich dann öfter includieren kann? Hoffe jemand kann mir dass nochmal kurz erklären Danke SwordMaster Zitieren
nic_power Geschrieben 22. Juli 2004 Geschrieben 22. Juli 2004 Hallo, ja, das ist im Prinzip richtig. Allerdings wird "int zahl" üblicherweise nicht in einer Header Datei implementiert, sondern in einer C oder C++ Datei (beispielsweise "zahl.C") . In der Header-Datei wird dann nur "extern int zahl" deklariert und überall inkludiert, wo auf die globale Variable "zahl" zugegriffen werden soll; dazu muss dann noch die entsprechende Objektdatei (im Beispiel "zahl.o") gelinkt werden. Nic Zitieren
SwordMaster Geschrieben 22. Juli 2004 Autor Geschrieben 22. Juli 2004 ok, bin mal gespannt ob ich dass hinbring.... hät eigentlich gehofft dass das etwas einfacher ist :-). Naja wie auch immer... ich hab ja nicht nur variablen sondern auch Funktionen. Also hab ich wieder zwei Dateien angelegt. eine MyFile.h und eine MyFile..cpp in der MyFile.h datei steht beispielsweise void test(); in der MyFile.cpp steht: #include "MyFile.h" void test() { AfxMessageBox("bla"); } jetzt bekomme ich den fehler: fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei also mir sagt das jetzt im moment gar nix :-(. Was hab ich jetzt falsch gemacht? heut scheint nicht mein tag zu sein Danke für eure Hilfe SwordMaster Zitieren
SwordMaster Geschrieben 23. Juli 2004 Autor Geschrieben 23. Juli 2004 Hi das mit der Funktion hab ich jetzt hinbekommen #include "stdafx.h" hat gefehlt! Danke für deine Hilfe! Heut nachmittag versuch ich dann nochmal meine Funktionen und Variablen in meinem Projekt zu benutzen. Wenns nicht geht meld ich mich einfach nochmal :floet: Schönen Tag SwordMaster Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.