Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

  • Autor

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

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

  • Autor

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

  • Autor

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.