Я работаю над своей серьезной программой на С++. Прошло некоторое время с тех пор, как я брал уроки, поэтому я немного заржавел. Приступая к базовой реализации игрового цикла (после того, как ВСЕГДА потратил на то, чтобы заставить SFML работать), я постоянно сталкивался с проблемами. Через некоторое время я сократил свой список проблем до ошибки при попытке определить функцию-конструктор. Я получаю следующую ошибку при попытке скомпилировать.
1>game.obj: ошибка LNK2005: "public: __thiscall game::game(void)" (??0game@@QAE@XZ) уже определено в main.obj
1>game.obj: ошибка LNK2005: «public: void __thiscall game::gameLoop(void)» (?gameLoop@game@@QAEXXZ), уже определенный в main.obj
Мой код в основном
#include <SFML/Graphics.hpp>
#include "game.cpp"
int main()
{
return 0;
}
в игре.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;
}
Я не знаю, почему я сталкиваюсь с этой ошибкой. Любая помощь была бы приятной, так как я хотел бы начать работу над своим проектом.