• Viernes 8 de Noviembre de 2024, 23:20

Autor Tema:  Separar la Interfaz de la Implementación [solucionado]  (Leído 4266 veces)

Matt B

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: co
    • Ver Perfil
Separar la Interfaz de la Implementación [solucionado]
« en: Jueves 12 de Septiembre de 2013, 12:14 »
0
Buenas, ya sé que hay una duda del mismo tipo en el foro, más no lo pude solucionar con ello y por eso pido ayuda sobre lo mismo  :losiento:. En esencia estoy empezando a aprender a programar en C++ en mi tiempo libre, y estoy usando un libro de programacion (no recuerdo si puedo colocar el nombre, son las 4 am y lo olvidé :D), en una sección da las intrucciones de como separar la interfaz de la implementación de una clase, pero cuando trato de compilar los archivos .h y .cpp me aparecen los siguientes tres errores:
[Linker error] undefined reference to 'Winmain@16'
ld returned 1 exit status
[Build Error] [Class1.exe] Error 1

Bueno... que más, el archivo que contiene las partes de la clase es al que le puse Class1 pero creo que eso sobra :p, hmm, no sé, estoy estancado por esto. Adjunto los codigos en bloc de notas. Gracias por la atención

http://www.mediafire.com/?tz0os8d5cmxi2d1
« última modificación: Domingo 22 de Septiembre de 2013, 21:38 por Matt B »
drassuss

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Separar la Interfaz de la Implementación
« Respuesta #1 en: Viernes 13 de Septiembre de 2013, 08:51 »
0
Hola Matt B, bienvenido al foro.

Mira el error "undefined reference" generalmente indica que falta incluir una libreria al enlazar el archivo, pero en este caso "undefined reference to 'Winmain@16'" indica que estas tratando de compilar una libreria como si fuera un ejecutable.

La funcion winmain o main, es donde comienza la ejecucion de tu programa, pero si estas compilando una libreria, no debe tener punto de inicio, asi que si tratas de compilarla como ejecutable, te dara ese error.

No dices que compilador estas utilizando para tu programa, pero basicamente debes buscar la opcion de tu compilador para compilar tus archivos como libreria, y luego ya que tengas la libreria compilada, la incluyes en el proyecto que tenga tu programa principal, o sea tu main, no se si me explique adecuadamente.

Igual si nos dices que compiladro estas usando, podriamos darte una respuesta mas concreta.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

Matt B

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: co
    • Ver Perfil
Re:Separar la Interfaz de la Implementación
« Respuesta #2 en: Viernes 13 de Septiembre de 2013, 09:19 »
0
Muchas gracias por responder, busqué información sobre compilar archivos como librería pero es muy ambigüo lo que hay, yo estoy utilizando DEV-C++, y lo más cercano que encontré fue en 'opciones de proyecto', pero la verdad quedé perplejo sobre lo que debería hacer. Si es preciso puedo buscarme otro compilador (por ciertas razones tengo que usar windows). Bueno, no sobra  :gracias: de nuevo y que pena por no poder hacerlo por mis medios, soy bien noob en el asunto  :nosweat: .
drassuss

Matt B

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: co
    • Ver Perfil
Re:Separar la Interfaz de la Implementación [solucionado]
« Respuesta #3 en: Domingo 22 de Septiembre de 2013, 21:41 »
0
La verdad había estado bastante ocupado, así que este proyecto estaba aplazado. Pero igual, hoy me puse a ver y la solución era más simple de lo que parecía, así que si alguien tiene el mismo problema, sólo hace falta incluir el .cpp en el programa en el que se quiera utilizar la clase. Por si acaso dejo el link con el programa como estaba antes y los revisados (R. los que si compilan). Bueno Cya  :suerte:

http://www.mediafire.com/?tz0os8d5cmxi2d1
drassuss