Hola todo el mundo:
Se me produce un error en compilación de "undefined reference to pointer"
Os cuento como tengo desarrollado el software:
En una libreria que llamaremos LIB1.h y en su correspondiente fichero LIB1.cpp tengo declarada la siguiente matriz de datos que se guardan en memoria PROGMEM
const word* const Tablas_CVs [] PROGMEM =
{
Numbers_CVs,
CVs_Defaults,
CVs_Masks,
CVs_Val_Min,
CVs_Val_Max
};
El dato de esta matriz (o puntero) es usada en otras librerias de clases que llamaremos LIB2.h y LIB2.cpp
Una de las funciones de esta libreria es una función de inicialización que está declarada como:
boolean DCC_Class::Init (byte pin_ACK, byte pin_Boton_Prog, word * Tablas, void (* _funct_excep) (word, byte, byte))
y dentro de esta función realizo una asignación a una variable privada de la clase del tipo word * MATRIZ_CVs
y realizo una asignación tan sencilla como MATRIZ_CVs = Tablas;
En el fichero principal del programa (el .ino) declaro:
extern const word* const Tablas_CVs;
Igualmente en el .ino llamo a la funcion de inialización de la clase anteriormente explicada.
e2prom_empty = DCC.Init (PIN_DCC_ACK, 0, (word *) Tablas_CVs, ptr_funct_EXCEPTION_POKE)
El error que da en compilación es el siguiente:
D:\ARDUINO_WORK\DESARROLLOS\DECODER_CARRO_v3\libraries\LIB2/LIB2.cpp:72: undefined reference to `Tablas_CVs'
No entiendo el por qué se produce ese error cuando todo creo que está correctamente declarado.
Por favor si alguien pudiera echarme una mano para saber donde estoy cometiendo el error sería muy de agradecer.
Muchas gracias por adelantado.