Alex R. schrieb:
> Mein vorhaben ist, eine Lib für ein Display zu programmieren und der
> User soll die möglichkeit haben anhand des setzens eines #define eine
> Schriftart auszuwählen. Die Schriftarten sind als einzelne header-Files
> vorhanden.
>
> z.B.
>
| 1 | > #define ARIAL  // auswahl der Arial.h
 | 
| 2 | > #include "test.h"
 | 
| 3 | > 
 | 
| 4 | > test t;
 | 
| 5 | > 
 | 
| 6 | > int main(void)
 | 
| 7 | >
 | 
das kann aber so nicht funktionieren.
Denn der #define steht hier zwar zur Verfügung, wenn test.h inkludiert 
wird. Von daher wäre das in Ordnung.
Wo er aber nicht zur Verfügung steht, das ist wenn test.cpp compiliert 
wird. Jedes cpp File wird für sich selbst und unabhängig von allen 
anderen compiliert. Was in dieser main.cpp an #define enthalten ist, 
interessiert den Compiler nicht die Bohne wenn er test.cpp compiliert. 
Der Compiler sucht sich nicht aus allen am Verzeichnis vorliegenden cpp 
Files das zusammen, was er gerade braucht. Ein cpp File - ein unabhängig 
von allen anderen durchgeführter Compiliervorgang.
Entweder du machst ein H-File, das zwangsweise von allen CPP Files 
inkludiert werden muss. zb ein config.h oder du gibst die Option in dein 
makefile bzw. in die korrespondieren Variante in deiner IDE auf dass so 
sichergestellt ist, dass dem Compiler immer das entsprechende #define 
von aussen vorgegeben ist.