Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: daniel617 en 29 Julio 2017, 09:53 am



Título: Error undefined reference to WinMain@16
Publicado por: daniel617 en 29 Julio 2017, 09:53 am
tengo este código y no me deja compilarlo me aparece error de undefined reference to winmain@16, alguien que me ayude

Código
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. class Persona {
  8.  
  9. public:
  10.  
  11.  
  12. Persona(char *n) { strcpy(nombre, n); }
  13. void VerNombre() { cout << nombre << endl; }
  14. protected:
  15. char nombre[30];
  16.  
  17. };
  18.  
  19.  
  20. class Trabajador : public Persona {
  21. public:
  22. Trabajador(char *n) : Persona(n) {}
  23. void VerNombre() {
  24. cout << "Trab: " << nombre << endl;
  25.  
  26. }
  27.  
  28. };
  29.  
  30. class Estudiante : public Persona {
  31. public:
  32. Estudiante(char *n) : Persona(n) {}
  33. void VerNombre() {
  34.  
  35. cout << "Est: " << nombre << endl;
  36.  
  37. }
  38.  
  39. };


Título: Re: Error undefined reference to WinMain@16
Publicado por: ivancea96 en 29 Julio 2017, 13:08 pm
Imagina que se ejecuta el programa. ¿Dónde va a empezar? ¿Qué va a ocurrir?

Un programa necesita una función main, que es el punto de entrada cuando lo ejecutas.

El error que te da es que no encuentra ese punto de entrada. Sin punto de entrada, no lo va a poder generar. Otra cosa, es que intentes hacer otra cosa en vez de una aplicación. Para ello, necesitamos más información.

Como detalle, la compilación ha sido exitosa. El código ha compilado bien a código objeto (.cpp -> .o). Lo que ha fallado, es el linkeo, la fase en la cual se cogen todos los códigos objeto y se genera la aplicación. Para compilar, no necesita main. Pero para generar la aplicación, sí que lo necesita.