new NewLiquidCristall preprocessor-multiversion trouble

good day! (sorry for my english)

i’m use arduino-project for begin and move from default LiquidCristall to NewLiquidCristall (i2c-lcd display)

  1. arduino-project source
    http://sourceforge.net/projects/photoduino/files/firmware/photoduino.shield.firmware.v.1.1.zip/download

  2. NewLiquidCristall
    https://bitbucket.org/fmalpartida/new-liquidcrystal
    i’m use LiquidCrystal_V1.2.1.zip

  3. i’m purposes make multi-version arduino clone

  4. separately build - OK

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(LCD_I2C_ADDR, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE); // I2C
MJKDZ-version

#include <LiquidCrystal.h>
LiquidCrystal lcd(PINS_LCD_RS, PINS_LCD_ENABLE, PINS_LCD_DB4, PINS_LCD_DB5,
PINS_LCD_DB6, PINS_LCD_DB7);

  1. make multiversion with preprocessor

if “#define LCD_I2C” - build OK
if not “#define LCD_I2C” - error

Photoduino:511: error: ‘sysexCallback’ was not declared in this scope
Photoduino.ino: In function ‘void loop()’:
Photoduino:522: error: ‘config_init’ was not declared in this scope
Photoduino:523: error: ‘backlight_init’ was not declared in this scope
Photoduino:524: error: ‘device_init’ was not declared in this scope
Photoduino:525: error: ‘controller_run’ was not declared in this scope
config_manager.ino: In function ‘void config_init()’:
config_manager:20: error: ‘config_loadBackup_all’ was not declared in this scope
config_manager:24: error: ‘backlight_toggle’ was not declared in this scope
config_manager:25: error: ‘display_printResetting’ was not declared in this
scope
config_manager:30: error: ‘display_printProgressBar’ was not declared in this
scope
config_manager:43: error: ‘config_loadDefaults_all’ was not declared in this
scope
… blah blah blah…

my change on Photoduino.diff (on attaches)

  1. with older LiquidCrystal (from arduino-ide )
    only standart (not I2C), with “#ifdef-#else-#endif” codes → make OK

i’m revision all files… without error

i need help!!! :o)
i’m use only this NewLiquidCristall library (other can’t work with I2C
MJKDZ-version)

you recomendation, links, helps…

thanks!!!

Photoduino.diff

319a320,323

//#define LCD_I2C
#define LCD_I2C_ADDR 0x20 // I2C module addres

322c326,334
< #include <LiquidCrystal.h> // For LCD Display use

//#include <LiquidCrystal.h> // For LCD Display use
#ifdef LCD_I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#else
#include <LiquidCrystal.h>
#endif

327a340,343

//LiquidCrystal lcd(PINS_LCD_RS, PINS_LCD_ENABLE, PINS_LCD_DB4, PINS_LCD_DB5, PINS_LCD_DB6, PINS_LCD_DB7);
#ifdef LCD_I2C
LiquidCrystal_I2C lcd(LCD_I2C_ADDR, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE);
#else
328a345
#endif