Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2011, 02:56
mr_technology
 
Fecha de Ingreso: diciembre-2010
Mensajes: 10
Antigüedad: 14 años
Puntos: 0
Error LNK2019

Hola, estoy intentando implementar un sencillo programa que lee de un fichero de texto y va guardando lo datos en un vector. A la hora de compilar me salen los siguientes errores:

error LNK2019: símbolo externo "public: void __thiscall Objeto::cargar(class std::basic_istream<char,struct std::char_traits<char> > &)const " (?cargar@Objeto@@QBEXAAV?$basic_istream@DU?$char_t raits@D@std@@@std@@@Z) sin resolver al que se hace referencia en la función "void __cdecl cargarDatos(char const *)" (?cargarDatos@@YAXPBD@Z) visualizador.obj visualizador

fatal error LNK1120: 1 externos sin resolver Debug\visualizador.exe visualizador

A continuación os pongo parte del código donde podría estar el fallo:

Esta es la clase principal:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <gl/glut.h>
#include <GL/gl.h>
#include <iostream>
#include <fstream>
#include "Objeto.h"

Objeto objeto;
char fichero[128];

//Carga los datos del fichero
void cargarDatos(const char *fnombre)
{
// Intentamos cargar el fichero si es posible
std::ifstream archivo(fnombre);
if (archivo.is_open())
{
objeto.cargar( archivo );//AQUÍ SE PRODUCE EL FALLO
archivo.close();
}
}


/* Main Loop
* Open window with initial window size, title bar,
* RGBA display mode, and handle input events.
*/
int main(int argc, char** argv)
{
std::cout << " Introduzca el nombre de fichero de la figura: " ;
std::cin >> fichero;
cargarDatos(fichero);

return 0;
}

Esta es la clase objeto a la cual se llama desde principal:

void cargar( std::istream& input ){
tray.clear();
fig.clear();

unsigned int totalTray;
input >> totalTray;

for(unsigned int i = 0; i < totalTray; ++i)
{
float x, y;
input >> x >> y;
tray.push_back( Vec3(x,y,0.0) );
}

unsigned int totalFig;
input >> totalFig;

for(unsigned int j = 0; j < totalFig; ++j)
{
float x, z;
input >> x >> z;
fig.push_back( Vec3(x,0.0,z) );
}

//ordenar el vector fig en sentido antihorario

for (unsigned int k=0; k < tray.size(); ++k)//vamos recorriendo las trayectorias
{
VectorVec3 aux;
Vec3 pTray = tray[k];
for (unsigned int n=0; n < fig.size(); ++n)
{
Vec3 pFig = fig[n];
pFig.y = pTray.y;
pFig.x = pTray.x + pFig.x;
aux.push_back(pFig);
}
pm.push_back(aux);
}
}

Las librerías creo que están bien importadas puesto que en otro proyecto que hago casi lo mismo y me funciona tengo las mismas librerias. La parte que pone de OpenGL todavía no la estoy utilizando.

Espero que alguien pueda saber porque me da este error, muchas gracias!!