1
我從來沒有在代碼塊中遇到這個問題,但是在Visual Studio類中,我給出錯誤LNK2005 ...已經在xx.obj中定義了。我讀過許多答案,其中大部分說使用「的extern」我不認爲這是在成員函數成員函數已經在.obj中定義(視覺工作室)
Error: 1>Source.obj : error LNK2005: "public: __thiscall Game::Game(void)" ([email protected]@[email protected]) already defined in game.obj
Error: fatal error LNK1169: one or more multiply defined symbols found
可我怎樣才能解決這個不暴力破解/允許多個定義?
//game.h
#ifndef GAME_H
#define GAME_H
#include <SFML/Graphics.hpp>
class Game
{
public:
Game();
private:
sf::RenderWindow mWindow;
sf::CircleShape mPlayer;
};
#endif
。
//game.cpp
#include "..\Headers\game.h"
Game::Game()
: mWindow(sf::VideoMode(640, 480), "Beginning")
, mPlayer()
{
mPlayer.setRadius(40.f);
mPlayer.setPosition(100.f, 100.f);
mPlayer.setFillColor(sf::Color::Cyan);
}
。
//source.cpp
#include "game.cpp"
int main()
{
Game game;
}
非常感謝,我是個白癡。讓反對票開始 – 2015-03-02 22:14:50