Programación General > Visual C++

 error LINK 2001

(1/2) > >>

johndoe90:
Hola, haciendo un codigo en C++ en objetos para hacer una pila sencilla, al compilar me salieron estos errores, si alguien sabe a que se deben o como solucionarlos que me lo diga por favor.
Gracias.

Linking...
pila.obj : error LNK2001: unresolved external symbol "public: __thiscall CProcess::CProcess(void)" (??0CProcess@@QAE@XZ)
principal.obj : error LNK2001: unresolved external symbol "public: __thiscall CProcess::CProcess(void)" (??0CProcess@@QAE@XZ)
Debug/CProcess.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

CProcess.exe - 3 error(s), 0 warning(s)

CProcess.h


--- Código: Text ---typedef char Tpalabra [20]; class CProcess{private:    Tpalabra imageName;    float cpuUsage;    int memUsage; public:    CProcess();    void pon_imageName(char name[20]);    char* dame_imageName();    void pon_cpuUsage(float cpu);    float dame_cpuUsage();    void pon_memUsage(int mem);    int dame_memUsage();    float valor_inicial_cpu();    int valor_inical_mem();}; 
pila.h


--- Código: Text ---#include "CProcess.h"#define MAXPILA 5 class CPila{private:    CProcess Vector[MAXPILA];    int CimPila; public:    CPila(void);    int PilaVacia(void);    int PilaLlena(void);    void PushPila(CProcess &t);    CProcess* PopPila(void);}; 
CProcess.cpp


--- Código: Text ---#include "CProcess.h"#include <string.h> void CProcess::pon_imageName(char name[20]){    strcpy(imageName,name);} char* CProcess::dame_imageName(){    return (imageName);} void CProcess::pon_cpuUsage(float cpu){    cpuUsage=cpu;} float CProcess::dame_cpuUsage(){    return (cpuUsage);} void CProcess::pon_memUsage(int mem){    memUsage=mem;} int CProcess::dame_memUsage(){    return (memUsage);} pila.cpp #include "pila.h" CPila::CPila(void){    CimPila=-1;}int CPila::PilaVacia(void){    return(CimPila==-1);}int CPila::PilaLlena(void){    return(CimPila==MAXPILA-1);}void CPila::PushPila(CProcess &p){   Vector[++CimPila]=p;}CProcess* CPila::PopPila(void){    return(&Vector[CimPila--]);} 

--- Código: Text ---#include "CProcess.h"#include <string.h>#include <stdio.h> void main(){    CProcess my_Process;    Tpalabra name;    float cpu;    int mem;     printf("Escribe los datos del proceso.n");    printf("Nombre de la imagen.n");    scanf("%s",name);    my_Process.pon_imageName(name);    printf("Uso de la cpu, ha de ser un valor comprendido entre 0 y 100, es un tanto por ciento.n");    scanf("%f",&cpu);    my_Process.pon_cpuUsage(cpu);    printf("Uso de la memoria.n");    scanf("%d",&mem);    my_Process.pon_memUsage(mem);     printf("El proceso %s tiene un uso de: n", my_Process.dame_imageName());    printf("%f de cpu.n", my_Process.dame_cpuUsage());    printf(" y %d de memoria.n",my_Process.dame_memUsage()); } 

PD: Como se puede poner un codigo tan largo un poco mas comprimido que no ocupe todo el post?

Eternal Idol:
Usa la etiqueta CODE para cada bloque. El problema es que declaraste pero no definiste el constructor de CProcess (no esta implementado).

johndoe90:
Gracias, solucioné el problema.

Pero la etiqueta CODE donde deberia ir? en C++ o en VB? a que te refieres con cada bloque?

Eternal Idol:
De nadas  B) En todo lo que sea codigo, dale a Editar sobre tu mensaje original para VER como lo hice.

johndoe90:
Hola que tal?
Ahora no tengo un constructor en CProcess, pero si en pila, ya que lo necesito para crearla.
Porque me vuelve a dar este error si esta ya inicializada?

Linking...
   Creating library Debug/CProcess.lib and object Debug/CProcess.exp
CProcess.exp : warning LNK4070: /OUT:CProcess.dll directive in .EXP differs from output filename "Debug/CProcess.exe"; ignoring directive
Debug/CProcess.exe : warning LNK4086: entrypoint "_mainCRTStartup" is not __stdcall with 12 bytes of arguments; image may not run
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/CProcess.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

CProcess.exe - 2 error(s), 2 warning(s)


--- Código: Text ---typedef char Tpalabra [20]; class CProcess{private:    Tpalabra imageName;    float cpuUsage;    int memUsage; public:    CProcess();    void pon_imageName(char name[20]);    char* dame_imageName();    void pon_cpuUsage(float cpu); float dame_cpuUsage();    void pon_memUsage(int mem);    int dame_memUsage();    float valor_inicial_cpu();    int valor_inical_mem();}; 

--- Código: Text ---#include "CProcess.h"#define MAXPILA 5 class CPila{private:    CProcess Vector[MAXPILA];    int CimPila; public:    CPila(void);    int PilaVacia(void);    int PilaLlena(void);    void PushPila(CProcess &c);    CProcess PopPila(void);}; 

--- Código: Text ---#include "CProcess.h"#include <string.h> void CProcess::pon_imageName(Tpalabra name){    strcpy(imageName,name);} Tpalabra* CProcess::dame_imageName(){    return (&imageName);} void CProcess::pon_cpuUsage(float cpu){    cpuUsage=cpu;} float CProcess::dame_cpuUsage(){    return (cpuUsage);} void CProcess::pon_memUsage(int mem){    memUsage=mem;} int CProcess::dame_memUsage(){    return (memUsage);} 

--- Código: Text ---#include "pila.h" CPila::CPila(void){    CimPila=-1;}int CPila::PilaVacia(void){    return(CimPila==-1);}int CPila::PilaLlena(void){    return(CimPila==MAXPILA-1);}void CPila::PushPila(CProcess &p){   Vector[++CimPila]=p;}CProcess CPila::PopPila(void){    return(Vector[CimPila--]);} 

--- Código: Text ---#include "Windows.h"#include "pila.h"  CProcess my_Process;CPila mi_pila;   int FAR PASCAL DLLanade_proceso(Tpalabra name, float cpu, int mem){    CProcess c;     if (mi_pila.PilaLlena())        return -1;    else {        c.pon_imageName(name);        c.pon_cpuUsage(cpu);        c.pon_memUsage(mem);         mi_pila.PushPila(c);        return 0;    }} int FAR PASCAL DLLquita_proceso(Tpalabra name, float* cpu, int* mem){    if (mi_pila.PilaVacia())        return -1;    else {        CProcess c = mi_pila.PopPila();        strcpy(name, *c.dame_imageName());        *cpu = c.dame_cpuUsage();        *mem = c.dame_memUsage();         return 0;    }} 
LIBRARY CProcess.dll
DESCRIPTION 'DLL cola de procesos'
HEAPSIZE 1024

EXPORTS
   DLLanade_proceso   @1
   DLLquita_proceso   @2

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa