I would wager that you're making two mistakes. First, you aren't putting inclusion guards on your headers. They look like this.
Second, you have a definition in one of your headers. You should avoid that by only placing declarations in the header file and then defining those names in a source file.
// Everything for the header here
extern room *current_room;
Include globals.h everywhere you need current_room, then compile and link with globals.cpp as you would any other source file. I could be wrong in what your problem is, but following those two guidelines will save you headaches later even if it isn't your current problem.
room *current_room = 0;