我正在研究我的严肃 C++ 程序。我已经有一段时间没有上课了,所以我有点生疏了。在开始游戏循环的基本实现时(在花费了永远让 SFML 工作之后),我不断遇到问题。一段时间后,我在尝试定义构造函数时将问题列表归结为错误。尝试编译时出现以下错误。
1>game.obj : error LNK2005: "public: __thiscall game::game(void)" (??0game@@QAE@XZ) 已经在 main.obj 中定义
1>game.obj : error LNK2005: "public: void __thiscall game::gameLoop(void)" (?gameLoop@game@@QAEXXZ) 已经在 main.obj 中定义
我的主要代码是
#include <SFML/Graphics.hpp>
#include "game.cpp"
int main()
{
return 0;
}
在game.h中
#ifndef _game_h
#define _game_h
class game
{
public:
game();
void gameLoop();
};
#endif
在game.cpp中是
#include <iostream>
#include "game.h"
game::game()
{
std::cout << "Constructed thingie";
}
void game::gameLoop()
{
std::cout << "RAN LOOP!" << std::endl;
}
我不知道为什么我会遇到这个错误。任何帮助都会很好,因为我想开始我的项目。