私は本格的な C++ プログラムに取り組んでいます。久しぶりに授業を受けたので、少しさびています。ゲーム ループの基本的な実装を開始するとき (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;
}
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;
}
なぜこのエラーが発生するのかわかりません。プロジェクトを開始したいので、何か助けていただければ幸いです。