in the linker settings I've included "header.o" and "Main.o"
Don't. It's been a while since I've used Code::Blocks, but generally every IDE in existence will automatically set up the linker line based on the source files that are being compiled, and chances are Code::Blocks already includes "header.o" and "Main.o" for you.
If you've explicitly added those two object files, you've effectively added them twice to the link line, and the linker sees that the symbols are defined twice and complains.
Let the IDE do the work there, you don't have to explicitly specify object files. (And, for the most part, in general, the default settings when you start a new project should be enough to at least get you off the ground.)