I've made several tests on extern not long ago. Though it may be informative for other readers to declare the variable as extern in the header file, this is not neccessary (but doable).
It works fine without it.

Just declare the variable in all of your cpp files. One normally, the rest as extern. Which file you place the non-extern variable in doesn't matter.

Code:
Main.cpp

Tile** p;
Code:
OtherFile.cpp

extern Tile** p;
Code:
AnotherFile.cpp

extern Tile** p;
Code:
YourHeader.h

//Notice, no declaration is needed