Frage zur bedingten Compilierung (#ifdef) ...

Wenn man

#define I2C_LCD_vorhanden

schreibt, ist es definiert (wie define schon sagt). Welchen Wert es ggfs. noch bekommt (true, false, 4711, "Ich bin ein String") spielt da keine Rolle.

Aber nimmt doch statt #ifdef mal den Bruder #if. Syntax siehe hier http://www2.informatik.uni-halle.de/lehre/c/c_if.html oder auch
hier http://msdn.microsoft.com/en-us/library/ew2hz0yd(v=vs.80).aspx

Das folgende müsste dann funktionieren:

#define I2C_LCD_Vorhanden false     // oder alternativ    #define I2C_LCD_Vorhanden true  

#if I2C_LCD_vorhanden == true         // #if I2C_LCD_Vorhanden reicht auch bei boolschen Werten
  #include <Wire.h>
  #include <LiquidCrystal_I2C.h>
#else     // false
// wenn nicht true, wird nichts eingefügt;  #else-Zweig kann dann natürlich weggelassen werden
#endif

Ich kanns im Augenblick nicht ausprobieren, aber so sollte es gehen.

Wolfgang