The header file contains two variables.
Because of the structure of my program, I have two “ld: duplicate symbol” errors.
These two variables have only local significance.
Is there any way of making these variables “private”, so they wouldn’t be seen outside of the header file even if the header file is included to another source file?
EDIT: please tell me, would it be nice if I will put the variables to the cpp file? These variables are very big arrays, defined while initializing, and take a lot of lines of code…
extern char Lookup[][3] = { "aa", "ab", "ac", "ad", "ae", "af", ... and so on (really long)}
The solution is to not define variables in your header file.
If you absolutely must share variables between internal source files (and I recommend that you don’t), then you should do the following:
externin that header file.The variable is now hidden from the outside world. (It’s probably still visible in your object files, but you can use platform-specific trickery to strip it.)