Kod jest ogólnie dobry, to błąd linkera. Sam jestem ciekawy co poszło nie tak (jak to odkryję to dam znać)...
Udało mi się jednak wykombinować coś takiego:
1. W pliku stack3.h zmieniamy definicję zmiennej count na jej deklaracje, tj.:
extern int count;
2. Następnie w pliku stack3.c umieszczamy jej definicję:
int count = 0;
Program skompilowałem tak i wszystko działa:
gcc stack3.c main3.c -Wall -o Program
Pozdrawiam!