Título: Problema de declaración de funciones externas al fichero cpp Publicado por: minak en 21 Marzo 2018, 22:23 pm Bueno mi problema no es en c++ si no en Arduino pero como el lenguaje que más se parece es a c++ lo pongo aquí haber si me podéis ayudar. El problema recae en que mi nivel de programación no es muy alto y que nunca me han llegado enseñado hacer programas estructurados en diferentes ficheros cpp. Ahora quiero aprender y no encuentro muy bien cómo se hace. El caso que quiero que el ino llame a funciones que están en diferentes .cpp y hasta hay bien pero cuando es un cpp el que llama a otra función declarada en otro cpp me da error que el compilador en ese cpp no lo tiene declarado. el caso como puedo hacer que lo que se declare en el programa principal este donde esté se le pueda llamar desde cualquier parte. Muchas gracias.
Pd: Es decir tengo el ino y hay declaro hago el include a wifi.h y datos.h pero claro desde la parte del codigo del cpp de wifi.h no puedo llamar a funciones de datos.h. Título: Re: Problema de declaración de funciones externas al fichero cpp Publicado por: Kenji-chan en 21 Marzo 2018, 23:14 pm en c/c++ cuando creas un programa que incluye otros ficheros lo que haces es declarar su header en el programa principal
main.cpp Código
des ese modo todo lo que este declarado dentro de las cabeceras que incluimos lo podremos usar dentro del fichero main.cpp (main.cpp es el nombre que le he dado a mi programa) pero no podemos llamarlo des de otros ficheros por ejemplo desde datos.cpp no podemos llamar funciones que estén en wifi.cpp para ello en datos.h tenemos que incluir el header de wifi.h Título: Re: Problema de declaración de funciones externas al fichero cpp Publicado por: minak en 22 Marzo 2018, 11:13 am Que mal eso lo tengo hecho y no hace caso, creo que tiene que ver porque en cada header
Código: /***********************************************************************************************************************************/ Y el header del otro implicado es el siguiente Código: /***********************************************************************************************************************************/ Código: //#include <Wire.h> //Manejo del I2C No tengo problemas para usar las funciones sobre el main pero sobre otro fichero no los encuentra Título: Re: Problema de declaración de funciones externas al fichero cpp Publicado por: Kenji-chan en 22 Marzo 2018, 19:09 pm que tipo de error te marca al compilar??
pueda que te marque undefined reference to las funciones void leerConfSSID() y void guardarConfWifi() las creaste tu? o ya están creadas en SoporteEEPROM?? Título: Re: Problema de declaración de funciones externas al fichero cpp Publicado por: minak en 23 Marzo 2018, 19:13 pm Contestándote al mensaje vi el error, que tonto es que cuando fragmente el código por módulos he dejado restos y cambie mucho el funcionamiento de la parte de lectura y escritura para adaptarlo a un futuro implementar SD o otros tipos de almacenamiento y la había liado en la llamada a las funciones. Codigo compilado aunque no se si funciona no dispongo aquí ningún Wemos(Aprox. ARDUINO) para comprobarlo.
Estoy haciendo mi propio programa principalmente para la placa Sonoff y otros dispositivos. Muchisimas gracias Kenji-chan. |