Класс неопределенной ссылки

Возможный дубликат:
Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить?

Это должно быть простой проблемой, но у меня все еще есть проблемы. Я смотрел на подобные вопросы, но они кажутся немного более сложными, чем то, что я ищу.

Я использую Code :: Blocks 10.05.

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

s\Desktop\the cool container\Test 1\Class2.o:Class2.cpp|| undefined reference to `Burrito::Burrito()'|
||=== Build finished: 1 errors, 0 warnings ===|

Все мои файлы находятся в одной папке. Мой объект ничего не делает, я просто пробую это, и я не должен получать ошибки при создании объекта из другого класса.

Да, это из учебника TheNewBoston … Он смог получить эту работу, поэтому я должен быть в состоянии заставить ее работать.

Если я включу #include "Burrito.cpp" в Class2.cpp тогда это работает, но он не включил это.

————Class2.cpp ——————

#include <iostream>
#include "Burrito.h"using namespace std;
int main(){

Burrito Bo;
return 0;
}

—————Burrito.h —————-

#ifndef BURRITO_H
#define BURRITO_Hclass Burrito
{
public:
Burrito();

};

#endif // BURRITO_H

—————Burrito.cpp ——————

#include "Burrito.h"#include<iostream>

using namespace std;
Burrito::Burrito()
{

}

1

Решение

Если я включу #include "Burrito.cpp" в Class2.cpp тогда это работает, но он не включил это.

Это редко (я бы сказал никогда) решение. не #include что должно быть исходным файлом в каком-то другом исходном файле. Решение состоит в том, чтобы скомпилировать все необходимые вам файлы и позволить компоновщику справиться с проблемами компоновки.

Вы не скомпилировали Burrito.cpp, поэтому, конечно, у вас проблемы со связью. Решение простое: скомпилируйте Burrito.cpp и добавьте Burrito.o в набор файлов, которые вы предоставляете компоновщику. В качестве альтернативы, вы можете предоставить и Class2.cpp, и Burrito.cpp компилятору, создавая исполняемый файл, а не объектные файлы в качестве вывода.

0

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

Других решений пока нет …

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