global.h
他のファイルで使用する予定のいくつかの変数を宣言するヘッダーファイルがあります。
#ifndef GLOBAL_H_
#define GLOBAL_H_
#include <stdio.h>
typedef struct tag_KG_Data
{
int nKGStationID;
int nKGComPort;
}GLOBAL_VAR;
GLOBAL_VAR g_GlobalVar;
BOOL b_newDataReady;
BOOL b_startedSocketClient;
#endif
GLOBAL_VAR g_GlobalVar
最初は、ファイルtest1.cpp
でのみ宣言しextern GLOBAL_VAR g_GlobalVar;
、問題なく動作しました。次に、2BOOL
を宣言し、で使用しましたtest2.cpp
が、error LNK2005: "struct tag_KG_Data g_GlobalVar" (?g_GlobalVar@@3Utag_KG_Data@@A) already defined in test1.obj
グローバル変数ごとに同様のエラーが発生します。問題は、で、またはのいずれも使用GLOBAL_VAR g_GlobalVar
しないということです。test2.cpp
BOOL
test1.cpp