@mapple17

Что делать с ошибкой unresolved external?

Есть заголовочный файл Firm.h с описанием класса и прототипов методов , firm.cpp который содержит реализацию методов класса, и unit1 в котором все это используется, вылезает ошибка при компиляции
[Linker Error] Unresolved external 'Firm::setName(char *)' referenced from C:\USERS\ADMIN\DESKTOP\сpp\UNIT1.OBJ
Unit1.cpp:
#include "Firm.h"
#pragma hdrstop
#pragma argsused
#include <conio.h>

int main()
{
  Firm h;
  h.setName("EA");
  h.setLocation("California");
  h.setIndustry("Game");
  h.setNum(30000);
  h.Info();
  getch();

  Firm *s = new Firm;
  s->setName("Ubisoft");
  s->setLocation("Montrey");
  s->setIndustry("Game");
  s->setNum(23500);
  s->Info();
  getch();
  return 0;
}
//---------------------------------------------------------------------------

Firm.cpp:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include "Firm.h"
void Firm::setName(char *str)
{
  strcpy(name,str);
}
void Firm::getName()
{
  return name;
}
void Firm::setLocation(char *str)
{
  strcpy(location,str);
}
void Firm::getLocation()
{
  return location;
}
void Firm::setIndustry(char *str)
{
  strcpy(industry,str);
}
void Firm::getIndustry()
{
  return industry;
}
void Firm::setNum(int v)
{
	numEmployees = v;
}
int getNum
{
  return Firm::numEmployees;
}
void Firm::Info()
{
	printf("Name : %s| Location: %s| Industry: %s| Number of employees: %d|",name,location,indsutry,numEmployees);
}

Firm.h:
#pragma once
#ifndef FIRM_H
#define FIRM_H
class Firm
{
  private:
    char name[80]; // íàçàíèå ôèðìû
    char location[30]; // ãäå íàõîäèòñÿ ôèðìà
    char industry[30]; // èíäóñòðèÿ, â êîòîðîé ðàáîòàåò êîìïàíèÿ
    int numEmployees; // êîëè÷åñòâî ðàáîòíèêîâ
  public:
    void setName(char* str);
    void setLocation(char *str);
    void setIndustry(char *str);
    void setNum(int v);
    char* getName();
    char* getLocation();
    char* getIndustry();
    int getNum();
    void Info();
};
#endif
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
У вас не включен в сборку Firm.cpp. Поэтому все что в нем определено и используется в unit1.cpp будет вызывать ошибку.
Как собираете проект?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы