Ошибка: неопределенный первый ссылочный символ в файле

Я получаю эту ошибку, и я не уверен, как ее исправить. Конструктор запроса принимает строковый тип, я не думаю, что я правильно реализовал в моем файле request.h.
Ошибка:

Undefined           first referenced
symbol                 in file
Request::Request(char *, int, int)  threadtest.o
ld: fatal: Symbol referencing errors. No output written to nachos

код:

class Request
{
public:
//constructor intializes request type

Request(char *u, int rqtID, int rqtrID);
char *url;
int requestID;
int requesterID;};

Файл request.cc, в котором определен конструктор

#include "request.h"
Request :: Request(char *urll, int requestIDD, int requesterIDD )
{
url = *urll
requestID = requestIDD;
requesterID = requesterIDD;

}

0

Решение

Попробуем сначала понять ошибку.

ld: fatal: Ошибка ссылки на символ. Нет вывода, записанного в nachos

Это означает, что это проблема с ссылками. Линкер не может найти определения для некоторых символов.

Неопределенный первый ссылочный символ в файле Request :: Request (char *, int, int) threadtest.o

Важная информация здесь — Request::Request(char *, int, int) а также threadtest.o, Итак, у вас есть имя исходного файла threadtest.cpp где вы создаете Request объект. Поймите, что включение заголовка (возможно, Request.h в threadtest.cpp ) помогает компилятору находить объявления. Линкер пытается найти определения символов во всех объектных файлах и формирует исполняемый файл.

Так что, возможно, вы не компилируете Request.cpp или забыл ссылку Request.o,

2

Другие решения


По вопросам рекламы [email protected]