Я пытаюсь скомпилировать очень базовую программу на C++ и что-то не так. Как бы то ни было, я уверен, что это очень очевидно. У меня три очень коротких файла.Compiling Basic C++ Class
main.cpp:
#include <iostream>
#include "Player.h"
using namespace std;
int main()
{
Player rob;
cout << "Iran" << endl;
return 0;
}
Player.h
#ifndef PLAYER_H
#define PLAYER_H
class Player {
public:
Player();
private:
int score;
};
#endif
Player.cpp
#include "Player.h"
Player::Player(){
score = 0;
}
Команда Я нно г компилировать является g++ main.cpp -o main
И ошибка я выдаётся компилятором является:
/tmp/ccexA7vk.o: In function `main':
main.cpp:(.text+0x10): undefined reference to `Player::Player()'
collect2: error: ld returned 1 exit status
Примечание: Все эти файлы находятся в том же каталоге.
Попробуйте также компилировать файл 'player.cpp' ... Компилятор не может автоматически найти тело функции в некомпилированном файле. – Xarn
Похоже, вы не компилируете Player.cpp. Дайте 'g ++ main.cpp Player.cpp -o main' попробовать. – user4581301
Возможная дубликация [Что такое неопределенная ссылка/неразрешенная ошибка внешнего символа и как ее исправить?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external- symbol-error-and-how-do-i-fix) –