elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  undefined reference to.. (Build failed) ¿A qué se debe el error?.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: undefined reference to.. (Build failed) ¿A qué se debe el error?.  (Leído 2,467 veces)
TØtti

Desconectado Desconectado

Mensajes: 13


Ver Perfil
undefined reference to.. (Build failed) ¿A qué se debe el error?.
« en: 29 Febrero 2016, 03:40 am »

Hola. Estaba practicando con las clases y objetos (soy nuevo), la cual me encuentro con estos errores que no logro comprender porque pasa.

Los errores ocurren el fichero; mejores-amigos.cpp

Código:
undefined reference to `tfri::SetFrie(std::string)'
undefined reference to `tfri::puntos(int, int, int)'
undefined reference to `tfri::ResultadoFinal()'

mejores-amigos.cpp

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. #include "tfriends.h"
  5.  
  6. using namespace std;
  7.  
  8. int pp1,pp2,pp3;
  9.  
  10. int main()
  11. {
  12.    tfri amiwo;
  13.    string men;
  14.  
  15.    cout<<"Promedio de tu mejor amigo"<<endl;
  16.    cout<<endl;
  17.  
  18.    cout<<"Coloca el nombre de tu amigo"<<endl;
  19.    getline(cin,men);
  20.    amiwo.SetFrie(men);
  21.  
  22.    cout<<endl;
  23.  
  24.    cout<<"Coloca tres notas para tu amigo: "<<endl;
  25.  
  26.    cout<<"¿Del 1-5 que buenos consejos da tu amigo?"<<endl;
  27.    cin>>pp1;
  28.    cout<<"¿Del 1-5 que tanto te tolera tu amigo?"<<endl;
  29.    cin>>pp2;
  30.    cout<<"¿Del 1-5 que tanto te quiere tu amigo?"<<endl;
  31.    cin>>pp3;
  32.  
  33.    amiwo.puntos(pp1,pp2,pp3);
  34.  
  35.    cout<<endl;
  36.  
  37.    cout<<"EL resultado es: "<<amiwo.ResultadoFinal();
  38.  
  39.    return 0;
  40. }


tfriends.h

Código
  1. #include <string>
  2.  
  3. using namespace std;
  4.  
  5. class tfri
  6. {
  7. private:
  8.    string amigo_original;
  9.    int presultado;
  10.  
  11. public:
  12.    void SetFrie(string);
  13.    void puntos(int,int,int);
  14.    int ResultadoFinal();
  15.  
  16. };
  17.  

tfriends.cpp

Código
  1. #include <iostream>
  2. #include "tfriends.h"
  3.  
  4. int main()
  5. {
  6.    return 0;
  7. }
  8.  
  9. ///////////////////////////////////////////////////
  10. void tfri::SetFrie(string amigo)
  11. {
  12.    amigo_original = amigo;
  13. }
  14.  
  15. void tfri::puntos(int puntos, int puntos2, int puntos3)
  16. {
  17.    presultado = (puntos + puntos2, + puntos3) / 3;
  18. }
  19.  
  20. int tfri::ResultadoFinal()
  21. {
  22.    return presultado;
  23. }

Gracias.


« Última modificación: 1 Marzo 2016, 23:47 pm por TØtti » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: undefined reference to.. (Build failed) ¿A qué se debe el error?.
« Respuesta #1 en: 29 Febrero 2016, 09:03 am »

En primer lugar, en un programa solo hay 1 main. Quita el main del .cpp de la clase.

Luego, el .cpp de la clase lo tienes que compilar primero. Eso generará un .o. Al compilar el mejores-amigos.cpp, también generará un .o. Luego, juntas y compilas ambos .o. El erro es que no encuentra la implementación de esas funciones. Eso es porque supongo que no se compiló el .cpp de la clase.

Todo esto te lo hace solo la mayoria de los IDE. Si creas un proyecto en el IDE, te lo debería hacer solo. ¿Qué utilizas para programar C++?


En línea

TØtti

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: undefined reference to.. (Build failed) ¿A qué se debe el error?.
« Respuesta #2 en: 29 Febrero 2016, 22:53 pm »

Lo habia quitado antes, pero me salio el siguiente error:

Código:
Undefined reference to 'WinMain@16'

ya tenia los dos archivos .o (el cpp de la clase y el cpp de mejores-amigos)

http://prntscr.com/a9lhz1

¿Cómo juntos los .o y los compilo?. Estoy usando codeblocks 13.12, aunque si, cree lo archivos individualmente por lo cual no lo hice mediante un proyecto de consola, me imagino que afecta. El problema es que me lio un poco al crear el proyecto, ni siquiera sé crear un archivo nuevo en el proyecto  :xD. Gracias.
« Última modificación: 29 Febrero 2016, 22:55 pm por TØtti » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: undefined reference to.. (Build failed) ¿A qué se debe el error?.
« Respuesta #3 en: 29 Febrero 2016, 23:18 pm »

Lo mejor es eso,q ue crees un proyecto, y le metas ambos archivos. Code::Blocks hará el resto.

Para agregar archivos al proyecto, o le das a "Add files", o a "New file" en el menú de la barra superior, y ya te va a pregutnar si lo quieres meter al proyecto.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines