0

llevo horas comiéndome la cabeza con el error LNK2019 y no entiendo que me falla. Soy nuevo en C++. Si alguien me puede echar una mano, se agradece.

Esto es lo que me salta la consola:

1>Escribir.obj : error LNK2019: unresolved external symbol "public: int __thiscall Leer::introducirSegundos(void)" (?introducirSegundos@Leer@@QAEHXZ) referenced in function "bool __cdecl escritor(enum estado,int)" (?escritor@@YA_NW4estado@@H@Z)

1>Escribir.obj : error LNK2019: unresolved external symbol "public: int __thiscall Leer::introducirMinutos(void)" (?introducirMinutos@Leer@@QAEHXZ) referenced in function "bool __cdecl escritor(enum estado,int)" (?escritor@@YA_NW4estado@@H@Z)

1>Escribir.obj : error LNK2019: unresolved external symbol "public: int __thiscall Leer::introducirHoras(void)" (?introducirHoras@Leer@@QAEHXZ) referenced in function "bool __cdecl escritor(enum estado,int)" (?escritor@@YA_NW4estado@@H@Z)

1>Escribir.obj : error LNK2019: unresolved external symbol "public: class std::basic_string,class std::allocator > __thiscall Leer::introducirNombre(void)" (?introducirNombre@Leer@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "bool __cdecl escritor(enum estado,int)" (?escritor@@YA_NW4estado@@H@Z)

1>Escribir.obj : error LNK2019: unresolved external symbol "public: int __thiscall Leer::introducirTracks(void)" (?introducirTracks@Leer@@QAEHXZ) referenced in function "bool __cdecl escritor(enum estado,int)" (?escritor@@YA_NW4estado@@H@Z)

1>Leer.obj : error LNK2019: unresolved external symbol "public: int __thiscall Escribir::devolverListaS(int)" (?devolverListaS@Escribir@@QAEHH@Z) referenced in function "int __cdecl lector(enum estado)" (?lector@@YAHW4estado@@@Z)

1>Leer.obj : error LNK2019: unresolved external symbol "public: int __thiscall Escribir::devolverListaM(int)" (?devolverListaM@Escribir@@QAEHH@Z) referenced in function "int __cdecl lector(enum estado)" (?lector@@YAHW4estado@@@Z)

1>Leer.obj : error LNK2019: unresolved external symbol "public: int __thiscall Escribir::devolverListaH(int)" (?devolverListaH@Escribir@@QAEHH@Z) referenced in function "int __cdecl lector(enum estado)" (?lector@@YAHW4estado@@@Z)

1>Leer.obj : error LNK2019: unresolved external symbol "public: int __thiscall Escribir::devolverListaId(int)" (?devolverListaId@Escribir@@QAEHH@Z) referenced in function "int __cdecl lector(enum estado)" (?lector@@YAHW4estado@@@Z)

1>Leer.obj : error LNK2019: unresolved external symbol "public: class std::basic_string,class std::allocator > __thiscall Escribir::devolverListaNomb(int)" (?devolverListaNomb@Escribir@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function "int __cdecl lector(enum estado)" (?lector@@YAHW4estado@@@Z)

1>Main.obj : error LNK2019: unresolved external symbol "public: void __thiscall Escribir::escritor(enum estado,int)" (?escritor@Escribir@@QAEXW4estado@@H@Z) referenced in function _main

1>Main.obj : error LNK2019: unresolved external symbol "public: enum estado __thiscall Gestionar::gestor(enum estado,int)" (?gestor@Gestionar@@QAE?AW4estado@@W42@H@Z) referenced in function _main

1>Main.obj : error LNK2019: unresolved external symbol "public: int __thiscall Leer::lector(enum estado)" (?lector@Leer@@QAEHW4estado@@@Z) referenced in function _main

1>C:\Users\morti\documents\visual studio 2010\Projects\2.0 LectorCDs\Debug\2.0 LectorCDs.exe : fatal error LNK1120: 13 unresolved externals

1>

1>Build FAILED.

Leyendo diversas reseñas, mi problema creo que no es la declaración de las funciones en el encabezado:

Leer.h

#pragma once

#include <iostream>

class Leer
{
    public:

        int lector(enum estado estadoActual);

        std::string introducirNombre();
        int introducirTracks();
        int introducirSegundos();
        int introducirMinutos();
        int introducirHoras();
};

Escribir.h

#pragma once

#include <iostream>

class Escribir
{
    private:
        std::string toString (int n);
        void sumadorDeTiempo(int hora, int minuto, int segundo);
        void restadorDeTiempo(int hora, int minuto, int segundo);

    public:

        void escritor(enum estado estadoActual, int lector);
        std::string devolverListaNomb(int i);
        int devolverListaId(int i);
        int devolverListaH(int i);
        int devolverListaM(int i);
        int devolverListaS(int i);
};

ClsTracks.h

#include <string>

class ClsTracks {

private:
    int id;
    std::string nombre;
    int minutos;
    int segundos;
    int horas;
    bool CD;
public:

    ClsTracks();

    ClsTracks(int id, std::string nombre, int segundos, int minutos, int horas, bool CD);

    void SetSegundos(int segundos);
    int GetSegundos();

    void SetMinutos(int minutos);
    int GetMinutos();

    void SetHoras(int horas);
    int GetHoras();

    void SetNombre(std::string nombre);
    std::string GetNombre();

    void SetId(int id);
    int GetId();

    void SetCD(bool cd);
    bool GetCD();

};

MUCHAS GRACIAS DE ANTEMANO

Miguel
  • 31
  • 2
  • No tiene nada que ver con la declaración de las clases. No te está encontrando símbolos de otras clases porque, al enlazar **no le estás pasando todos los archivos de código objeto que necesita** – eferion Nov 05 '19 at 11:40
  • Por otro lado, si te cierran una pregunta no crees otra prácticamente igual... edita la pregunta cerrada y, si procede, se retirará el cierre. Crear otras preguntas provocará el cierre casi automático de todas las preguntas – eferion Nov 05 '19 at 11:40

0 Answers0