Autor Tema: Problemas de donde poner los archivos de cabecera  (Leído 2905 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Problemas de donde poner los archivos de cabecera
« en: 14 de Noviembre de 2016, 10:12:17 »
Hola a todos, pues tengo un problema que no sé como salir de el, resulta que he hecho un proyecto en arduino y me he creado unas librerías con un driver para manejar la medida te temperatura y todo funciona bien hasta que las rutinas que tengo en el archivo principal  las saco de ahí y me creo un archivo nuevo .cpp donde coloco esas rutinas dentro de una función llamada medirtemp() para que en el sketch no se vea tan recargado y tener las rutinas separadas y organizadas, pero a la hora de compilar me empieza el programa me empieza a dar errores de todo tipo, desde nombres duplicados hasta que no localiza variables, he probado de casi todo,poner las cabeceras todas en un archivo de cabecera central donde lo llamo desde el sketch, hasta intentar separar las cabecearas y nada, siempre errores o de localización o de duplicidades (esto es sobre todo con el constructor).

¿hay algunas reglas para poner esos archivos o crear drivers o algo?, los tutos que he leído en el archivo de cabecera pones las referencias de las funciones y el constructor y en el .cpp pones las funciones ya con sus rutinas y en la parte de inicio del archivo le metes el #include y el archivo de cabecera (.h) de ese archivo recién creado.
pero ni así, errores por todos lados. A ver si alguien me echa una mano.
espero haberme explicado bien
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Problemas de donde poner los archivos de cabecera
« Respuesta #1 en: 14 de Noviembre de 2016, 10:42:42 »
Es complicado indicarte que cosa deberia en que lado al no poseer el codigo.

Pero basicamente tendrias 1 archivo de cabera, que posee las cosas que van a usar ambos archivos. De que cosas hablo? Declaracion de funciones, clases, estructuras, union, enum que se vayan a utilizar tambien en el main ademas del archivo libreria.

Luego tendrias tu archivo main.cpp que deberia tener el include de la cabecera. Y asi poder usar las clases o funciones, como asi tambien en caso que sea necesario poder declarar una estructura/union dentro del archivo main.

Y finalmente tu archivo libreria .cpp que tambien deberia tener el include de la cabecera, en este archivo declarar las variables/struct/union que usa este archivo nomas y luego las funciones en si.

Tal es tus problemas vengan con algunos typedef que tengas.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re:Problemas de donde poner los archivos de cabecera
« Respuesta #2 en: 14 de Noviembre de 2016, 11:00:47 »
Así lo hago en C18 pero no sé que pasa en este arduino que no me funciona, ¿el constructor de la librería donde se pone?, se que en el .h se declara la estructura y todo eso y en el .cpp se pone las funciones incluso el constructor pero a la hora de trabajar con el no me queda muy claro donde ponerlo, es donde más tengo el problema en el constructor que si lo pongo en un lado, me da errores en otro viceversa.

Yo normalmente en C18 lo que hago es que en un archivo de cabecera llamado por ejemplo config.h pongo todos las definiciones y cabeceras de todo el proyecto y lo que hago es llamar es config.h desde todos los .c y me funciona bien, al igual no es el procedimiento correcto, si no lo es y no les es molestia, si que me gustaría que me orientaran.

gracias por la ayuda la verdad
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Problemas de donde poner los archivos de cabecera
« Respuesta #3 en: 14 de Noviembre de 2016, 12:51:41 »
Si podes pasar el codigo (resumido), me refiero a una llamada simple y que te de el error, tampoco pongas todo el codigo, trata de crear un ejemplo simple. Ademas de eso copia el error que te da el compilador.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re:Problemas de donde poner los archivos de cabecera
« Respuesta #4 en: 15 de Noviembre de 2016, 05:20:36 »
Hola, creo que ya se cual era el problema, resulta que no puedo estar poniendo la llamada a la rutina del constructor en diferentes lugares, tiene que estar todo en el mismo sitio, si respeto esto no da error y compila bien y puedo seguir trabajando con los archivos de cabecera como hasta ahora, siempre me pasa lo mismo con los compiladores que uso por primera vez, hasta que no sepa como funciona me dan dolores de cabeza.

Espero no tener más problemas de este tipo, gracias
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -