Problem is in double linking the same object file, connect4.o:
connect4: connect4.o ... connect4.o
gcc -o connect4 connect4.o ... connect4.o
Remove one of this files and all be fine:
connect4: connect4.o ...
gcc -o connect4 connect4.o ...