externe variablen problem
-
Was für einen Compieler verwendest du? Du musst natürlich die globaldef.c auch mit compilieren.
-
ich nutze den gcc-compiler unter linux.
kompilieren tue ich alle files zusammen. ich inkludiere auch die, die ich benötige. daran liegt es nicht. ist ein qt-projectbastian
-
@bigdaddy
Zeig mal deine globaldef.c und globaldef.h und deine includes in der anderen Datei.
-
also in meiner config.h steht:
extern bool var1 extern bool var2 extern bool var3
in meiner config.c:
#include "config.h"
bool var1 bool var2 bool var3
in der 2. c-datei, die die var abfragen soll habe ich drin:
bool var1 bool var2 bool var3
und wenn ich hier kein include der config.h mache meckert er rum, dass die var nicht definiert sind.
bastian
-
Genau in der 2. c-datei liegt dein Problem:
Wenn die die Variablen nutzen willst tust du nur in der 2. c-datei die config.h includieren und sonst nichts mehr. Einfach genau so wie ich es dir vorher beschrieben habe.
in der 2. c-datei, die die var abfragen soll drin sein:
#include "config.h" /* und sonst nichts mehr machen, und schon kannste die variablen verwenden */
Und ausserdem solltest du in die config.c nicht die config.h includieren.
-
Also, in deiner config.h sollte es so aussehen:
#ifndef CONFIG_H #define CONFIG_H extern bool var1 extern bool var2 extern bool var3 #endif
Deine config.c dürfte so passen.
In den anderen c-Dateien darfst du nur noch config.h includieren!
Beim Kompilieren musst du natürlich die config.c auch mitkompilieren.
-
ich kompilere ja alles aber er meldet mir jedes mal den fehler, dass in der 2. c-datei die variablen nicht deklariert sind, obwohl ich alles so gemacht habe.
ich brauche aber in meiner config.c das include "config.h".
programmiere mit qt und in der config.h ist mein standardkonstruktor und in der config.cpp brauche ich den eben.bastian
-
Warum machst du diese Variablen nicht static und tust sie zu einer Klasse dazu?
-
das ist wohl die beste idee!
warum bin ich da nicht selber draufgekommen!?danke
bastian
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.