标题文件中的全局变量问题

时间:2017-12-03 05:46:33

标签: c variables global chess

我正在制作一个国际象棋引擎,我正试图存储几个8x8阵列用于电路板表示(例如白车阵列,其中0表示非车辆,1表示白车)

我的想法是让它成为全球性的,我永远不必在任何函数中传递它,我可以将它设置为全局并从中访问和运行,并且我对这些数组所做的任何更改都将针对所有函数进行更改。但是我在所有变量上都出现了重复的符号错误。以下是错误示例

duplicate symbol _whiteQueens in:
    /Users/mkerian/Library/Developer/Xcode/DerivedData/chessGameST-         ggkdsdjczjelcyftciubhwejdbma/Build/Intermediates.noindex/chessGameST.build/Debug/chessGameST.build/Objects-normal/x86_64/boardRep.o

如果有必要,这是我的申报代码。

int allChars[8][8];
int whiteChars[8][8]; 
int blackChars[8][8];

int whitePawns[8][8];
int blackPawns[8][8];

int whiteKnights[8][8];
int blackKnights[8][8];

int whiteBishops[8][8];
int blackBishops[8][8];

这似乎是构建时错误。如果你们对我能解决的问题有任何想法,我会很感激!

编辑:我做了一些改变,这已经改变了我的问题

在我的头文件中,我定义了像

这样的数组
extern int allChars[8][8];

我为所有全局变量做了这个。我在这个程序中使用了~6 .c文件,看起来我的错误仅适用于每个变量中的一个。例如main不会为变量抛出错误,但其他一切都是。如何获取一个全局变量,然后能够将它用于我的所有.c?

0 个答案:

没有答案