【发布时间】:2015-08-01 21:21:56
【问题描述】:
如何解决这个问题?
刚刚收到以下错误:
g++ 输出:
duplicate symbol _game in:
/var/folders/w6/yqp0s0t92hl5g842hg8tztfr0000gn/T/main-62666f.o
/var/folders/w6/yqp0s0t92hl5g842hg8tztfr0000gn/T/Game-a5a31d.o
duplicate symbol _game in:
/var/folders/w6/yqp0s0t92hl5g842hg8tztfr0000gn/T/main-62666f.o
/var/folders/w6/yqp0s0t92hl5g842hg8tztfr0000gn/T/Write-83f8ee.o
似乎问题不在头文件中。
编辑:头文件如下所示:
#ifndef GAME_H
#define GAME_H
#include "Color.h"
#include "Tile.h"
class Game
{
public:
Game();
~Game();
Color getActivePlayer();
void setStarttile(Tile Firststarttile);
Color togglePlayer();
void setRunning(bool run);
char newActiveplayer;
void run();
void runsecondmethod();
private:
Game(const Game &);
Color Activeplayer;
Tile *Starttile;
bool Running;
}game;
#endif
【问题讨论】:
-
您是否在其他文件中包含
.cpp文件?你的.h有标题保护吗?我们不能仅凭这些错误就知道。 -
不,我们不包括任何 .cpp 文件。
-
你是否在头文件中定义一个函数,而不是仅仅声明它?
-
不,我们只是声明它们。它们在 .cpp 文件中定义
标签: c++ macos duplicates x86-64 symbols