Hi,

I am trying to compile a program having multiple files. I have a common header file which i am including in 3 source files. Multiple inclusion is protected by wrapping the contents of .h file using "#ifndef"

For e.g. I have following in my header file

Code:
#ifndef PPTPCLIENT_H
#define PPTPCLIENT_H

const char control_reply_result_codes[6][100] = {	
	" ",
	"Successful channel establishment",
	"General error -- Error Codeindicates the problem",
	"Command channel already exists",
	"Requester is not authorized to establish a command channel",
	"The protocol version of the requester is not supported"
};

const char general_error_codes[6][100] = { 
	"No General Error",
	"No Control Connection exits yet for this PAC-PNS pair",
	"Length is wrong or Magic Cookie value is incorrect",
	"One of the field values was out of range or reserved field was non-zero",
	"The Call ID is invalid in this context",
	"A generic vendor-specific error occured in the PAC"
};

const char stop_reason_codes[4][100] = { 
	" ",
	"General request to clear control connection",
	"Can't support peer's version of the protocol",
	"Requester is being shutdown"
};

const char og_result_code [8][150] = {	
	" ",
	"Call established with no errors",
	"Outgoing call not established for the reason indicated in error code",
	"Outgoing call failed due to no carrier detected",
	"Outgoing call failed due to detection of busy signal",
	"Outgoing Call failed due to lack of a dial tone",
	"Outgoing Call was not established within time allotted by PAC",
	"Outgoing Call administratively prohibited"
};
....../*Some other similar declarations */
#endif
How ever I am getting linker errors for multiple inclusion of above array and similar other arrays.

gcc -g -o pptpclient pclientmain.c pclientfunction.c pptputils.c
/tmp/ccMMMtIa.o(.rodata+0x0): In function `printHelp':
/home/snoopy/pptp/pclientfunction.c:4: multiple definition of `control_reply_result_codes'
/tmp/cccyJsV6.o(.rodata+0x0):/home/snoopy/pptp/pclientmain.c:4: first defined here
/tmp/ccMMMtIa.o(.rodata+0x260): multiple definition of `general_error_codes'
/tmp/cccyJsV6.o(.rodata+0x260): first defined here
/tmp/ccMMMtIa.o(.rodata+0x4c0): multiple definition of `stop_reason_codes'
/tmp/cccyJsV6.o(.rodata+0x4c0): first defined here
/tmp/ccMMMtIa.o(.rodata+0x660): multiple definition of `og_result_code'
/tmp/cccyJsV6.o(.rodata+0x660): first defined here
Can some one help me to figure out where the problem is?

Thanks,