Tôi đang cố gắng biên dịch một chương trình C++ rất cơ bản và có điều gì đó sai trái. Dù nó là gì, tôi chắc chắn nó rất rõ ràng. Tôi có ba tập tin rất ngắn.Biên dịch 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;
}
Lệnh Tôi usin g để biên dịch là g++ main.cpp -o main
Và lỗi tôi được cấp bởi trình biên dịch là:
/tmp/ccexA7vk.o: In function `main':
main.cpp:(.text+0x10): undefined reference to `Player::Player()'
collect2: error: ld returned 1 exit status
Lưu ý: Tất cả những tập tin nằm trong cùng thư mục.
Hãy thử biên dịch tệp 'player.cpp' cũng ... Trình biên dịch không thể tự động tìm thấy nội dung chức năng trong tệp không được biên dịch. – Xarn
Có vẻ như bạn không biên soạn Player.cpp. Cho 'g ++ main.cpp Player.cpp -o main' một lần thử. – user4581301
Có thể trùng lặp của [Lỗi tham chiếu không xác định/lỗi chưa được giải quyết bên ngoài là gì và cách khắc phục?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external- symbol-error-and-how-do-i-fix) –