C++ 在C+中出现以下链接器错误的含义是什么+;使用g++;

C++ 在C+中出现以下链接器错误的含义是什么+;使用g++;,c++,gcc,linker,g++,C++,Gcc,Linker,G++,以下链接器错误消息是什么意思 我使用了以下步骤来编译我的项目。然而,最后我得到了链接器错误 guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Action.cpp guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Space.cpp guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Player.cpp

以下链接器错误消息是什么意思

我使用了以下步骤来编译我的项目。然而,最后我得到了链接器错误

guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Action.cpp 
guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Space.cpp 
guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Player.cpp
guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c Pieces.cpp
guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -c GameBoard.cpp 
guest-wireless-upc-nat-206-117-88-027:PA4 Rafael$ g++ -g -Wall -o  game game.cpp        
GameBoard.o Space.o Player.o Pieces.o Action.o
错误:

duplicate symbol _a in: 
     /var/folders/ds/t3m3drzx7yjc78gh8xfyf73r0000gn/T/game-0a62a1.o GameBoard.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这可能意味着您在头中声明了名为
a
的变量或函数,并将该头包含在多个文件中。因为你没有发布任何代码,所以除了猜测之外很难做到。可能重复:就是这样!非常感谢,先生@退休的德尼加:准确地说,这不是一个声明,而是一个定义。只要在最多一个翻译单元中定义符号,就可以在许多翻译单元中声明符号。我喜欢当您阅读错误消息时,它会显示“duplicate symbol\u a”,然后查找它所说的是重复的(\u a)和。。。定义了不止一个!太神了虽然很伤心,但不得不问。我们注定要失败。