Hi,
I am trying to include a header file in two source files.
In spite of including a guard for the header I get a linker error in VS2008 saying the class have already been defined.
Error:
Misc_Functions.obj : error LNK2005: "class std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > Board_Pos" (?Board_Pos@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@A) already defined in Morris_Main.obj
Files:
Global.h
Morris_Main.cpp
Misc_Functions.cpp
Code:
Global.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#ifndef _Global_H_
#define _Global_H_
#include <map>
#include <string.h>
#include <iostream>
#include <vector>
using namespace std;
void init_variables(char*);
map<string, string> Board_Pos;
string board_pos_arr[];
vector<string> White_Coins;
vector<string> Black_Coins;
#endif
|
can someone please help me with this?
Thanks in advance!