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
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
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
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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden