nikedeforest, тебе нужно использовать szLab4 вглобальной области или в пространстве имен lab4?
Если объявить переменную в глобальной области и переменную с таким же именем в пространстве имен, то это будут две разные переменные.
Именно это ты и делаешь:
В файле Lab.cpp объявляю и инициализируб глобальную переменную TCHAR szLab4[200];
В файле Lab4.h делаю так:
#include "cmath"
#include "vector"
namespace lab4
{
...
extern TCHAR szLab4[200];
...
}
А ошибка у тебя возникает потому, что extern подразумевает объявление переменной в пространстве имен (как написал Anchorite), а такого объявления у тебя и нет.
Поэтому тебе нужно в файле Lab.cpp объявить переменную не в лобальной области, а так, как написал Anchorite.
Либо в файле Lab4.h вынести extern szLab4... в глобальную область.
#include "cmath"
#include "vector"
extern TCHAR szLab4[200];
namespace lab4
{
...
}