Раскатиал я тут губу на namespace...

пишу модуль namespace.cpp, там фигачу этот самый namespace abc.
пишу main.cpp, там, естественно, пишу using namecpace abc.
Получаю облом

abc — не имя namespace
И как его сделать видимым в модуле main — пока тайна великая есть.
Обернуть все в некий общий namespace?
Ладно.
Делаю namespace.h
По всей форме со стражем, пишу #include "namespace.h"
using в main.cpp, естественно, заработал.
Потребовалось мне новый модуль добавить.
Пишу в том модуле #include "namespace.h"
При сборке получаю переопределение имени одной переменной.
Сначала инклудится в main.cpp
Потом инклудится во втором модуле.
А там повторное определение переменной.
Как-то я наивно полагал, что если страх проставлен, то проблем не должно быть.
Суслика не видно, а он есть!
И чего делать?